我知道这个问题之前有人问过。我读过之前的问题,但解决方案对我来说不起作用。Chrome 绝对拒绝清除所有缓存数据。这妨碍了我测试正在开发的网站。
问题:无论我如何尝试清除网站的缓存数据,Chrome 仍然会提供 index.html 某些部分的缓存版本。这种情况几乎总是发生在<style>
我的 index.html 文件头部的标签中嵌入的 CSS 中。我将更改此 CSS,重新启动为 index.html“清空缓存并硬重新加载”页面提供服务的 Python 代码,Chrome 将使用与以前完全相同的 CSS,而无需进行任何更改。
我尝试了以下方法:
- 进入 Chrome 设置并清除全部自时间开始以来的数据。
- 重新启动浏览器。
- 检查开发工具的网络选项卡中的“禁用缓存”选项(并刷新)
- “清空缓存并重新加载”
- 发送标头
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
- 这些步骤的所有可能的组合。
我自己编写了服务器代码。它非常简单,绝对不会一遍又一遍地提供相同的服务。每次我尝试清除缓存时,我都会重新启动它以确保万无一失。
在我看来,更奇怪的是,对 index.html 中实际 html 所做的更改会反映在浏览器中。这就像 Chrome 选择缓存标签的内容,<style>
但对其他所有内容都采取相同的行为。
我有一个非常烦人的解决方案来解决这个问题。如果我每次更改时都增加服务器运行的端口号,Chrome 将不会在第一次加载时使用任何类型的缓存。我宁愿不这样做。
这可能无关紧要,但服务器和浏览器都在同一台 Windows 10 计算机上。
答案1
非常烦人/黑客的解决方案:每次进行更改时都更改提供文件的端口。