刷新外部加载的javascript文件

Refresh external loaded javascript files

本文关键字:javascript 文件 加载 外部 刷新      更新时间:2023-09-26

我有一些js文件,我把它们放在另一个文件夹中,以便于更新和在不同页面之间共享。这些文件是从另一个页面调用的,我使用

<script type="text/javascript" src="/js/file.js"></script>

符号。

这工作得很好,但当我改变这些js文件之一的东西,浏览器(chrome, firefox, safari)仍然加载以前的版本没有变化,因此不更新它使用的js文件更新的一个。我试图清理缓存,以迫使它再次加载js文件(与更改),但无济于事。

唯一的解决方法是将外部文件重命名为file2.js,并将其包含在调用它的页面中,但这是一个繁琐的过程,因为如果我进行另一个更改,我必须将名称更改为file3.js,等等

是否有办法强制浏览器重新加载原始js而不使用先前存储的js>

你可以通过在URL中添加一些唯一的东西来强制刷新:

在下面的代码中,必须为每个请求生成字符串"d6aa97d33d459ea3670056e737c99a3d"。你可以使用时间戳,散列,随机数,任何你想要的。因此,浏览器不会重用缓存中的内容,而总是下载JS文件。

<script type="text/javascript" src="/js/file.js?d6aa97d33d459ea3670056e737c99a3d"></script>

您可以尝试在查询字符串中添加随机数的经典技术。

<script type="text/javascript" src="/js/file.js?r=123"></script>

这将实现与使用不同的文件名相同的事情(就浏览器而言,这是一个不同的URL),但您不必重命名您的文件

就用这个:

<script type="text/javascript" src="/js/file.js?1"></script>

查看文件名后的?1