重载JS文件而不刷新页面

Reload JS file without page refresh

本文关键字:刷新 JS 文件 重载      更新时间:2023-09-26

是否有任何方法,我如何才能强制我的浏览器刷新(重新下载)JS资源,而不刷新整个页面?解决方案在任何web浏览器是好的。当然,独立于浏览器的解决方案将是最好的。

背景:我们的应用程序在同一页面上有多个屏幕。在一个屏幕上执行一些操作后,AJAX将获取另一个屏幕。由于该页面大量使用JS,我经常需要更改其JS资源。在刷新页面以获得固定的JS后,我必须在到达我目前正在调试的屏幕之前浏览所有以前的屏幕。

可以使用jQuery。在Firefox中,您可以直接向Firebug控制台编写如下内容:

$.getScript("http://example.com/path/to/your/file.js");

注意:新脚本是在旧脚本之上下载的。因此,任何初始化页面的JS代码都会被再次执行,这可能会产生副作用。在包含大量JS的页面中,将函数和常量的定义放入与页面初始化代码不同的文件(如将事件绑定到元素)通常是一个好主意。然后,您可以使用getScript()只获取定义文件。

如果你想把所有的东西放在一个文件中,你可以在加载新文件之前清除旧的绑定:

$("*").off();