use*_*168 0 javascript external
我将许多 js 文件放在另一个文件夹中,以便于更新和在不同页面之间共享。这些文件是从另一个页面调用的,我使用
<script type="text/javascript" src="/js/file.js"></script>
Run Code Online (Sandbox Code Playgroud)
符号。
这工作正常,但是当我在这些 js 文件之一中更改某些内容时,浏览器(chrome、firefox、safari)仍然加载以前的版本而不进行更改,因此不会将它使用的 js 文件更新为更新的文件。我试图清除缓存以强制它再次加载 js 文件(带有更改),但无济于事。
我唯一的解决方法是将外部文件重命名为 file2.js 并将其包含在调用它的页面中,但这是一个乏味的过程,因为如果我进行另一次更改,我必须将名称更改为 file3.js 等。
有没有办法强制浏览器重新加载原始js而不使用以前存储的js>
小智 6
您可以通过在 URL 中添加独特的内容来强制刷新:
在下面的代码中,必须为每个请求生成字符串“d6aa97d33d459ea3670056e737c99a3d”。您可以使用时间戳、散列、随机数,无论您想要什么。正因为如此,浏览器不会重用他在缓存中的内容,而是会一直下载 JS 文件。
<script type="text/javascript" src="/js/file.js?d6aa97d33d459ea3670056e737c99a3d"></script>
Run Code Online (Sandbox Code Playgroud)