【发布时间】:2011-08-30 18:40:18
【问题描述】:
浏览器: Firefox 6.0
我的页面 A 具有以下设置,以确保内容未存储在浏览器的 bfcache 中:
1)$(window).unload(function(){});
2) 遵循 HTTP 标头:
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="expires" content="-1" />
<meta http-equiv="cache-control" content="no-cache"/>
我还连接了pagehide 和pageshow 事件。当我离开页面时,pagehide 使用事件属性 persisted = false 的正确值调用(这就是所需要的:缓存中没有持久性!)
浏览几个页面后,我有一个window.history.go(-2); 可以返回页面 A。此时,我希望 Firefox 轮询服务器以获取更新版本,而不是从缓存中显示。使用事件属性persisted = false 的正确值调用页面 A 的 pageshow(意味着页面不是从缓存中加载的)。但是页面内容不是服务器数据;它是陈旧的内容(与最初离开页面时相同)! Fiddler 也不会向服务器显示新请求。
谷歌浏览器也表现出相同的行为。 IE 按预期工作(重新加载新数据)!
知道我错过了什么吗?
提前致谢!
【问题讨论】:
标签: firefox cache-control browser-cache