为什么Chrome会删除旧的JS文件?

时间:2017-02-12 21:58:04

标签: javascript html google-chrome caching browser-cache

我几周来一直有一个疯狂的烦人问题,我似乎无法解决。有时,当我更新Siteground上托管的网站的Javascript或CSS文件时,Chrome会拒绝识别它们。如果我清空缓存并刷新,其他浏览器会立即提取新文件,Chrome不会。

我有:

  1. 通过cPanel文件管理器验证正确的文件 已上传到我的服务器。
  2. 反复清空Chrome的缓存。
  3. 反复使用devtools“hard reload”和“empty cache and hard reload”。
  4. 反复退出并重新打开Chrome。
  5. 通过devtools彻底关闭了Chrome的缓存。
  6. 疯狂地说,当我几个小时后回到它身边时,这个问题似乎就解决了。我在这里错过了什么让Chrome无法阅读新文件?

3 个答案:

答案 0 :(得分:3)

有时服务器本身正在缓存某些用户代理的响应(这可以区分您正在使用的浏览器类型),这可以解释您的问题。

我建议尝试通过devtools将您的UA(用户代理)更改为您目前在firefox / safari中所拥有的内容,以查看问题是否仍然存在。

这只是服务器缓存某些浏览器响应的方式之一,因为它也可能会因其他小的实现差异而改变。

检查服务器的设置以查看是否有服务器缓存的内容,或服务器是否通过localStorage等添加其他缓存信息,然后尝试更改这些设置或部分依赖于不被视为缓存的客户端存储的代码。

答案 1 :(得分:1)

也存在此问题,使用开发人员工具即可解决该问题。

  1. 打开开发人员工具
  2. 点击网络标签
  3. 选中“禁用缓存”选项,然后取消选中它。

enter image description here

完成此操作后,它将使用我的javascript文件的当前版本。

答案 2 :(得分:0)

这不是服务器(view-source 显示当前文件),也不是我在任何地方找到的命令或浏览器选项(包括此处的先前答案)。

最终奏效的是:创建一个新的浏览器标签并从那里进行调试。