刷新外部加载的javascript文件

时间:2013-01-16 10:10:09

标签: javascript external

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

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

符号。

这很好但是当我在其中一个js文件中更改某些内容时,浏览器(chrome,firefox,safari)仍会加载以前的版本而不进行更改,因此不会更新它用于更新的js文件。我试图清理缓存以强制它再次加载js文件(带有更改),但无济于事。

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

有没有办法强制浏览器重新加载原始js而不使用之前存储的js&gt;

3 个答案:

答案 0 :(得分:4)

您可以通过在网址中添加唯一内容来强制刷新:

在下面的代码中,必须为每个请求生成字符串“d6aa97d33d459ea3670056e737c99a3d”。您可以使用时间戳,哈希,随机数,无论您想要什么。 因此,浏览器不会重复使用缓存中的内容,而是始终下载JS文件。

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

答案 1 :(得分:0)

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

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

这可以实现与使用不同文件名相同的功能(就浏览器而言,这是一个不同的URL),但您不必重命名文件。

答案 2 :(得分:0)

请使用:

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

请参阅文件名后的?1