![比使用 Ctrl-F5 或 Ctrl-Shift-R 刷新更完整](https://linux22.com/image/1595102/%E6%AF%94%E4%BD%BF%E7%94%A8%20Ctrl-F5%20%E6%88%96%20Ctrl-Shift-R%20%E5%88%B7%E6%96%B0%E6%9B%B4%E5%AE%8C%E6%95%B4.png)
我有一个 html 页面 (1),该页面又由 js 文件 (3) 填充另一个 html 文档 (2)。我使用 Firefox。
我修改了 (2) 中的 href 属性,但当我使用 Ctrl-F5 重新加载 (1) 时,修改不见了,只剩下旧版本。我甚至尝试从服务器中删除 (2),内容仍然显示,并使用旧版本的 href 属性。
是否还有更完整的方法来绕过缓存,不仅适用于(1)和(3),还适用于(2)?
答案1
Ctrl+F5 强制重新加载当前页面,但不一定保证再次获取该页面引用的其他资源。因此,您的子资源可能仍被缓存。有几种方法可以解决这个问题。
最简单的方法是按 Ctrl+Shift+Delete 并在打开的对话框中配置要删除的内容来完全清除浏览器的缓存。
如果子引用的内容经常变化,你可以配置你的网络服务器来提供pragma:no-cache
并使用类似的技术来提示 Firefox 应始终获取最新的内容。
如果您不熟悉 Web 服务器配置,另一种方法是使用附加到查询字符串末尾的随机数来引用子资源(例如,subpage.html?8723654)。这样,您可以随时更改该数字(或者,如果您使用 JavaScript,则每次都可以更改),因此就浏览器而言,对 subpage.html 的每个请求看起来都像一个不同的 URL。
我只是非常简要地介绍了这些解决方案。如果您想要了解其中任何一个解决方案的更多详细信息,请告诉我。