JavaScript无法刷新 - 必须清除缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript无法刷新 - 必须清除缓存相关的知识,希望对你有一定的参考价值。

我在Squarespace网站上使用wexley模板实现了this script,使图库中的图像充当链接(Wexley本身不支持点击URL)。

它工作正常,但如果我向图库添加任何缩略图,它将无法工作,直到清除浏览器缓存。

我想知道是否有办法解决这个问题?也许通过:

1)在缓存上设置到期日期?我不是在开发人员模式,所以这将不得不进入标头注入

版本化?我尝试将javascript作为文件托管在我网站的其他位置。这工作(它从另一个位置拉出脚本)但仍然得到相同的问题,即使我上传一个新的脚本文件并指向更新页面后!

答案

您可以强制客户端再次下载该字段。要实现此目的,您需要让客户端浏览器认为它没有缓存中的脚本。您可以更改文件名。

想象一下,你有这个文件夹结构:

  • 的index.html
  • index.js

如果在你的index.html中引用像src="index.js"这样的脚本,你可以强制客户端只下载一个查询字符串到导入:src="index.js?0"

现在,客户端浏览器将检查此文件是否在缓存中,并且因为它不是,它们将从服务器获取。

另一答案

检查我的页面上的资源加载我意识到脚本没有被缓存,所以它是其他被缓存的东西干扰。

因为我没有处于开发模式,所以我实现了一个修复,它依赖于附加带有更新日期的URL,然后设置301重定向。

添加任何内容时,必须更新URL和重定向(总共2个)。

如果有人发现此问题(与SEO或某些未知相关),我将非常感谢您的反馈。

以上是关于JavaScript无法刷新 - 必须清除缓存的主要内容,如果未能解决你的问题,请参考以下文章

刷新页面,重新加载js,清除缓存拒绝304

apache是 否可以重新启动可靠地清除pagespeed缓存?

即使清除缓存 laravel 后视图也不刷新

完成就绪状态后,清除缓存后,JS函数只会运行一次?

如何刷新或清除HttpURLConnection的连接缓存

iframe子页面访问过后相应js 缓存在浏览器,怎么不缓存