首页 > 解决方案 > 检测页面是否使用 PHP 刷新

问题描述

我正在尝试使用 PHP 和所有浏览器检查页面是否已刷新。

这就是我试图做的:

if( isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0' ) {
    // page was refreshed
}

但是它不适用于谷歌浏览器。

我也尝试设置一个 SESSION - 但我怎样才能销毁这个会话,以便用户仍然可以访问该页面但不能刷新它?

我还尝试了PHP 的其他几个答案:Detect Page Refresh

任何帮助,将不胜感激。

谢谢!

标签: javascriptphp

解决方案


感谢您Raymond Nijland建议使用 JavaScript。

也感谢所有试图提供帮助的人。

我这样做如下:

<?php
$RedirectURI = "http://example.com";
?>
<html>
<head>
<noscript>
<meta http-equiv="refresh" content="0; url=<?php echo $RedirectURI; ?>" />
</noscript>
<script>
if (!window.performance) {
    window.location = "<?php echo $RedirectURI; ?>";
}
if (performance.navigation.type == 1) {
    window.location = "<?php echo $RedirectURI; ?>";
}
</script>
</head>
</html>

推荐阅读