在Safari 10.1.1中,浏览器的后退按钮不会重新加载目标页面,因此$_SERVER['SCRIPT_NAME']
不会更改。
当按下浏览器的后退按钮时,有没有办法重新加载目标页面。我尝试了以下方法:
header("Cache-Control: no-cache, no-store, must-revalidate"); // HTTP 1.1.
header("Pragma: no-cache"); // HTTP 1.0.
header("Expires: 0"); // Proxies.
这不起作用。
背景:我尝试在PHP中构建可靠的页面历史记录,但是如果浏览器的后退按钮没有触发服务器上的任何内容,我该怎么办?
谢谢!
答案 0 :(得分:1)
在您的情况下,浏览器不会全部调用服务器。 在大多数情况下,浏览器只会显示" local / cached"上一页的版本,并且不会启动与服务器的连接。
您可能会在这里找到一些强制重新加载的JavaScript解决方案: How to force reloading a page when using browser back button?或此处How to refresh page on back button click?
最相关的部分是使用windows.performance
对象。
if(!!window.performance && window.performance.navigation.type === 2)
{
window.location.reload();
}