11

我希望浏览器始终加载一个特定页面,特别是当用户按下浏览器后退按钮进入该页面时。

因此,我在此页面的标题中使用了以下“Cache-Control”指令(直接从我的代码中获取 PHP)。

$headers['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0';

这适用于 FF、IE 和 Chrome,但 Safari (5.0.1) 似乎忽略了该指令并且无法重新加载页面(跨多个用户,因此它似乎不是特定于设置的问题)。搜索没有发现任何已知的错误,所以我假设我的结果有问题。

任何指针将不胜感激。

更新:刚刚在 SO 上找到了这个答案。

Safari浏览器忽略我的无缓存

还没有尝试过,但看起来很有希望。很奇怪,它是对身体标签的补充,所以我持怀疑态度。

4

2 回答 2

6

答案是在 body 标签中包含以下属性来强制 Safari 重新加载页面:

onunload=""

如:

<body onunload="">

我在这里找到了这个:Safari 浏览器忽略了我的无缓存

哪个又从这个线程得到它:单击后退按钮时是否存在跨浏览器 onload 事件?

于 2011-06-01T14:42:23.023 回答
3

另请参阅此 Webkit 错误报告: https ://bugs.webkit.org/show_bug.cgi?id=71509

我遇到了同样的问题,它似乎是 Safari 中的一个错误。

于 2011-11-18T06:34:29.833 回答