我希望浏览器始终加载一个特定的页面,特别是当用户按下浏览器后退按钮进入时。
所以我在这个页面的标题中使用了以下'Cache-Control'指令(直接从我的代码中获取PHP)。
$headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0';
这适用于FF,IE和Chrome,但Safari(5.0.1)似乎忽略该指令并且无法重新加载页面(跨多个用户,因此它似乎不是特定于设置的问题)。搜索没有发现任何已知的错误,所以我假设我的结果有些不妥。
任何指针都会非常感激。
更新:刚刚在SO上找到了这个答案。
Safari browser ignoring my no-cache
尚未尝试过,但看起来很有希望。很奇怪它是身体标签的补充,所以我持怀疑态度。
答案 0 :(得分:5)
答案是在body标签中包含以下属性以强制Safari重新加载页面:
onunload=""
如:
<body onunload="">
我在这里找到了这个:Safari browser ignoring my no-cache
反过来从这个帖子得到它:Is there a cross-browser onload event when clicking the back button?
答案 1 :(得分:2)
另请参阅此Webkit错误报告: https://bugs.webkit.org/show_bug.cgi?id=71509
我遇到了同样的问题,似乎是Safari中的一个错误。