为什么Chrome会拉旧JS文件?

Dyl*_*ark 5 html javascript caching google-chrome browser-cache

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

我有:

  1. 通过cPanel文件管理器验证正确的文件是否已上传到我的服务器.
  2. 反复清空Chrome的缓存.
  3. 反复使用devtools"硬重载"和"空缓存和硬重载".
  4. 反复退出并重新打开Chrome.
  5. 通过devtools完全关闭了Chrome的缓存.

令人沮丧的是,当我几个小时后回到它时,这个问题似乎就解决了.我在这里错过了什么让Chrome无法阅读新文件?

小智 9

也遇到了这个问题,进入开发者工具解决了这个问题。

  1. 打开开发者工具
  2. 单击网络选项卡
  3. 选中禁用缓存选项,然后取消选中它。

在此输入图像描述

执行此操作后,它会使用我的 javascript 文件的当前版本。


tow*_*owc 3

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

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

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

检查服务器的设置以查看是否正在服务器缓存某些内容,或者服务器是否通过localStorage类似的方式添加其他缓存信息,然后尝试更改这些设置或依赖于未考虑的客户端存储的代码段缓存。