gpt4 book ai didi

firefox - 如何防止从 Firefox 中的后退缓存中显示内容?

转载 作者:行者123 更新时间:2023-12-04 03:16:52 24 4
gpt4 key购买 nike

浏览器:火狐 6.0

我已经使用以下设置页面 A 以确保内容未存储在 bfcache 中浏览器的:

1) $(window).unload(function(){});
2) 以下 HTTP header :

<meta http-equiv="pragma" content="no-cache" /> 
<meta http-equiv="expires" content="-1" />
<meta http-equiv="cache-control" content="no-cache"/>

我还联系了事件 pagehidepageshow .当我离开页面时, pagehide使用事件属性 persisted = false 的 CORRECT 值调用(这就是所需要的:缓存中没有持久性!)

浏览几页后,我有一个 window.history.go(-2);返回页面 A。此时,我希望 Firefox 轮询服务器以获取更新版本,而不是从缓存中显示。 pageshow使用事件属性 persisted = false 的 CORRECT 值调用页面 A 的(意味着页面不是从缓存中加载的)。但是页面内容不是服务器数据;它是陈旧的内容(与最初离开页面时相同)! Fiddler 也不会向服务器显示新请求。

谷歌浏览器也表现出相同的行为。 IE 按预期工作(重新加载新数据)!

知道我错过了什么吗?

提前致谢!

最佳答案

涉及多个缓存。有浏览器的文档缓存 (bfache)、浏览器的 HTTP 缓存以及可能的中间 HTTP 缓存。
<meta>您上面显示的标签在当前的 Chrome 或 Firefox 中完全没有影响。它们可能对 IE 有影响。

所以很有可能,您的页面只是从浏览器的 HTTP 缓存中读取。

如果您真的想发送无缓存的 HTTP header ,您应该这样做。但它们必须是实际的 HTTP header :正如我上面所说的,<meta>标签“等价物”什么也不做。

而且,重要的是,任何其他中间缓存都不会解析您的 HTML,因此如果您实际上没有发送正确的 HTTP header ,则可能会缓存内容。

关于firefox - 如何防止从 Firefox 中的后退缓存中显示内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com