有没有办法阻止脚本加载两次? JavaScript的

时间:2013-11-20 11:02:56

标签: javascript

我有一个包含多个页面的应用程序,可以加载许多外部脚本。

某些页面包含其他页面,这意味着会多次加载多个脚本。

有什么方法可以冷却检查哪些脚本正在加载,然后再次阻止它们被加载?并提高绩效。

抱歉,我没有代码示例,我刚刚开始解决这个问题。

有人会有任何建议吗?

3 个答案:

答案 0 :(得分:2)

是的,您的脚本可以创建对象,如果对象已经存在,您可以阻止重新加载

有关详细信息,请参阅Can i use javascript to prevent Loading the same script over and over?

解决问题的另一种方法是使用require.js之类的模块加载器来管理加载Javascript文件。您必须将Javascript文件转换为与require兼容的“模块”,但模块格式被广泛使用。由于这是一种标准而非家庭酿造的方法,它可能比我之前的建议更好。

答案 1 :(得分:1)

我在每个不同的文件中放置了console.log(“scriptname-loaded”)。 然后,使用控制台,您可以看到多次加载了哪些脚本。

如果你包含一个页面,它实际上不应该包含所有通用脚本和标题......

答案 2 :(得分:1)

您的浏览器将为您执行此操作 - 如果脚本是从同一URL加载的 - 因为浏览器将缓存JavaScript文件并从缓存中加载它们而不是通过HTTP请求它们。

如果不同的页面加载相同的脚本(例如jQuery),但是来自不同的URL,则会请求两者,因为缓存是按地址。