刷新外部加载的javascript文件

刷新外部加载的javascript文件,javascript,external,Javascript,External,我有许多js文件,我把它们放在另一个文件夹中,以便于更新和在不同页面之间共享。这些文件是从另一个页面调用的,我使用 <script type="text/javascript" src="/js/file.js"></script> 符号 这很好,但当我更改其中一个js文件中的某些内容时,浏览器(chrome、firefox、safari)仍会加载以前的版本而不进行更改,因此不会将它使用的js文件更新为更新后的js文件。我试图清除缓存以强制它再次加载js文件(进行了

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

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

符号

这很好,但当我更改其中一个js文件中的某些内容时,浏览器(chrome、firefox、safari)仍会加载以前的版本而不进行更改,因此不会将它使用的js文件更新为更新后的js文件。我试图清除缓存以强制它再次加载js文件(进行了更改),但没有效果

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


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

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

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


这与使用不同的文件名(就浏览器而言,这是一个不同的URL)的效果相同,但您不必重命名文件。

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

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


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

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

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

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

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

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

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

只要用这个:

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

请参阅文件名后的
?1

只需使用以下命令:

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


请参见文件名后的
?1

您是否尝试过
CTRL+F5
或重新启动浏览器。您是否尝试过
CTRL+F5
或重新启动浏览器?是否可能重复谢谢,它可以工作!每个人都建议使用相同的解决方案,但是使用时间戳意味着每次添加的部件都是唯一的,因此不需要对调用更新例程的文件进行更改。谢谢,它可以工作!每个人都建议使用相同的解决方案,但是使用时间戳意味着每次添加的部分都是唯一的,因此不需要对调用更新例程的文件进行更改。是的,谢谢您的回复。它只是起作用了。我的项目完成了:)是的,谢谢你的回复。它只是起作用了。随着我的项目的完成:)