Phi*_*tts 20 javascript dynamic-script-loading modernizr yepnope
我使用yepnope.js动态加载javascript文件,我注意到我的脚本似乎根据Firebug和Webkit Inspector加载了两次.
问题是在Firebug的Net面板(Firefox 4最新版)中,他们的反应是200
,而不是304
.它似乎比Chrome慢.
我上传了这个显示问题的视频.您可以看到文件jquery-1.6.1.min.js
和libs.js
加载的时间.
我用来执行此操作的代码如下,简化:
Modernizr.load({
load: ['jquery-1.6.1.min.js', 'libs.js'],
complete: function () {
console.log("loaded");
}
});
Run Code Online (Sandbox Code Playgroud)
Modernizr.load()
是yepnope()
.
Nat*_*ell 25
在他们的文档中有关于此的说明:
我在开发工具中看到两个请求,为什么要加载两次?
根据您的浏览器和服务器,这可能意味着几件不同的事情.由于yepnope如何工作的性质,每个文件都有两个请求.第一个请求是将资源加载到缓存中,第二个请求是执行它(但由于它在缓存中,它应该立即执行).只要第二个请求被缓存,看到两个请求是很正常的.如果您注意到第二个请求未被缓存(并且您的脚本加载时间加倍),那么请确保您发送了正确的缓存标头以允许缓存脚本.这对于yepnope至关重要.没有启用适当的缓存,它将无法工作.我们实际测试以确保在我们的测试套件中没有加载两次,所以如果您认为我们的浏览器中可能存在关于双重加载的错误,我们建议您运行测试套件以查看双重加载测试是否通过.
归档时间: |
|
查看次数: |
6260 次 |
最近记录: |