首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP检测Iphone浏览器刷新

使用PHP检测Iphone浏览器刷新
EN

Stack Overflow用户
提问于 2020-07-04 05:36:23
回答 1查看 61关注 0票数 0

我正在尝试检测我的网站页面的浏览器是否被刷新,以便在除Iphone之外的所有其他平台上执行一些logic.Apparently。任何帮助都是appreciated.Below,是我正在使用的php脚本。

代码语言:javascript
复制
$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0';
 
if($pageWasRefreshed ) {
  //do something because page was refreshed;
} else {
  //do nothing;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-04 09:24:29

看起来,Safari在刷新后不会发送Cache-Control头(这可能有几个原因)。这不是一个好主意,依靠浏览器通知您的刷新与头,因为浏览器可能会随着时间的推移。

解决此问题的一个更好的解决方案是使用会话,因为不管浏览器如何,它都能工作。

代码语言:javascript
复制
session_start(); //place it at the start of the PHP document, before anything except headers is send to browser

if (!isset($_SESSION["refresh"]))
    $_SESSION["refresh"] = 0;
$_SESSION["refresh"] = $_SESSION["refresh"] + 1;

if ($_SESSION["refresh"] > 1)
{
    //you refreshed the page!
}
else
{
    //first time
}

编辑:解决此问题的其他解决方案如下:

使用cookie的

  • (在服务器端)。如果用户禁用了cookies.
  • ,在客户端使用javascript代码,这是行不通的。这取决于问题--通过javascript的解决方案有时不必要地复杂,有时是必需的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62725710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档