jQuery在初始页面加载时重新加载javascript资源
我目前有一个AngularJS(1.2.18)web应用程序,它使用jQuery(1.9.0)和其他javascript文件 我注意到,在浏览器缓存之前,网站第一次加载速度非常慢。我依次发现:jQuery在初始页面加载时重新加载javascript资源,javascript,jquery,ajax,performance,angularjs,Javascript,Jquery,Ajax,Performance,Angularjs,我目前有一个AngularJS(1.2.18)web应用程序,它使用jQuery(1.9.0)和其他javascript文件 我注意到,在浏览器缓存之前,网站第一次加载速度非常慢。我依次发现: 我的所有外部javascript文件并行加载(包括jQuery) 我的剧本 $.ajaxSetup({cache:true}); 加载以防止jQuery再次重新加载资源 一个很长的延迟,在此期间jQuery连续地重新加载步骤1中的所有内容,如下所示 为什么jQuery再次尝试重新加载我的所有资源 不$
$.ajaxSetup({cache:true});
加载以防止jQuery再次重新加载资源$.ajaxSetup({cache:true})代码>缓存所有javascript jQuery需求
我所看到的cache:false
和cache:true
之间的唯一区别是,是否在重新加载的资源的末尾附加了时间戳。在这两种情况下,我所有的javascript都会重新加载
谢谢你的帮助 我在index.html中的脚本既不在
中,也不在
中。将脚本放入
后,一切正常。1。在生产应用程序中,所有这些JS文件都应该连接起来并缩小(有关这些任务,请参见Gulp或Grunt)。2.你到底是如何加载这些JS文件的?这些脚本标记在HTML中吗?或者是否存在某种依赖项加载$.ajaxSetup
仅适用于$.ajax(…)
调用,而不适用于脚本标记。3.我的DevTools设置为禁用缓存,如果您的也设置为禁用缓存,则在DevTools打开时将看不到任何缓存。1。是的,这是开发环境。2.这些是HTML中的脚本标记。3.Yea mine也设置为禁用缓存。让我试着启用缓存。@christian314159看起来即使启用了缓存,jQuery似乎仍在重新加载脚本……但如果它们是脚本标记,则每次都是这样加载的。您的$.ajaxSetup
对它没有任何作用。谢谢您的链接。我现在明白你的意思了。在加载之后的一段时间内,网络瀑布中突然出现了两次所有内容。是否有正在触发的window.load事件?另外,您是否注意到所有脚本标记都在body标记之外(它们实际上都是HTML标记的子项)?也许这就是原因。