我有一个包含多个页面的应用程序,可以加载许多外部脚本。
某些页面包含其他页面,这意味着会多次加载多个脚本。
有什么方法可以冷却检查哪些脚本正在加载,然后再次阻止它们被加载?并提高绩效。
抱歉,我没有代码示例,我刚刚开始解决这个问题。
有人会有任何建议吗?
答案 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,则会请求两者,因为缓存是按地址。