gpt4 book ai didi

javascript - list 更新但允许缓存时如何使浏览器更新脚本文件?

转载 作者:太空狗 更新时间:2023-10-29 15:16:44 30 4
gpt4 key购买 nike

我尝试了两种不同的方法,但都不起作用:

<强>1。更新 list ,以便浏览器看到更改和更新

这会更新除 JavaScript 文件之外的所有文件。浏览器发现存在差异,下载所有内容(包括 JavaScript 文件)但使用 JavaScript 文件的缓存版本。

<强>2。发送无缓存 header (参见下面的代码)以停止缓存脚本文件

这会导致浏览器抛出错误并且不再缓存任何内容。它说发生了 ApplicationCache 错误。

无缓存代码:

<filesMatch "\.(js)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</filesMatch>

以上内容使所有浏览器缓存应用以供离线使用。

有解决办法吗?

最佳答案

我没有足够的观点来判断这是否是最佳实践,但每当我们的团队对 Javascript 进行更改时,我们都会在路径末尾增加一个查询字符串变量。

<script type="text/javascript" src="/path/to/script.js?v=10"></script>  

请注意 src 属性末尾的 v=10。这向浏览器暗示正在检索不同的文件,因此绕过了缓存。

我是根据现有同事的做法,采用了这种方法。

关于javascript - list 更新但允许缓存时如何使浏览器更新脚本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32790810/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com