YepNopeJS:在小JS文件完全加载之前触发回调
YepNopeJS: callback triggered before tiny JS file is fully loaded
我有一个网站,它正在使用Modernizr.load(又名YepNopeJS)加载各种外部脚本。其中一个脚本是一个小的统计脚本(3.5 kB未压缩),带有一个非常简单的回调函数:
Modernizr.load({
load: 'http://res.xtractor.no/x.js',
callback: function() { _pxReg(); }
});
_pxReg只是在x.js脚本中定义的一个函数。在我大约50%的页面中,我收到一条错误消息"未定义变量:_pxReg"(Opera 12)或"'_pxReg'未定义"(Internet Explorer 9)。Firefox 15和Chrome 22从不出错。重新加载页面时永远不会发生错误。
这似乎是某种定时错误。在IE开发工具中,x.js文件的源在错误发生时是空的。这似乎与YepNope中的双重请求"错误"有关(http://yepnopejs.com/#twice),因为在IE中,每个加载的JS文件都有两个引用,其中第一个总是空的。
我本想制作一个完整的例子来触发这个错误,但它似乎与页面的复杂性有关。页面的简化版本从未触发此错误。
有人知道是什么原因造成的吗?我应该如何解决?站点地址为http://www.husbanken.no/.
每次资源加载回调一次,这意味着它将在加载中为n执行一次:['x.js','y.js']
如果您使用yepnope.js加载资源(基本上是Modernizr.load功能:前缀、超时等)并提供回调,您可以在关闭并执行这样的功能:
yepnope([{
load : {'x':'//x.js'},
callback : function(url, result, key){
if("x" === key && result === true) { _pxReg() };
},
complete : function(){ console.log("all done..")}
}])
如果这有帮助,请告诉我:)
相关文章:
- 一旦加载并渲染了角度引导typeahead,就使用回调
- 在foreach中加载所有项后,Knockoutjs组件回调
- Material Design Lite所有元素加载JS回调
- 用于在ng映射中加载GeoJSON的回调
- Dojo AMD加载程序执行定义具有空/缺失依赖项的回调
- Ember我如何知道路由模板何时完成加载并触发回调
- YepNopeJS:在小JS文件完全加载之前触发回调
- 加载文件,然后调用回调函数
- AngularJS - ngRoute - 视图加载完成后的回调
- Dojo 加载器不加载回调中使用的小部件依赖项
- $.mobile.changePage 之后的回调函数通过 AJAX 加载
- Rally App SDK 2.0:在看板上加载/渲染所有卡片后的回调函数
- Iframe 加载回调被多次调用
- 如何将回调添加到 gstatic 加载器.js谷歌图表库
- 回调以设置postdata,而无需重新加载网格
- 异步加载ASP.NET绑定的Javascript,然后调用回调
- JQuery/Javascript:如何将一个东西放回页面加载上的位置
- 什么是通过回调加载谷歌API或谷歌的区别.加载或简单的脚本块
- WAAPISim Polyfill-如何使用.wav回退加载.mp3
- Javascript - 加载内容、回调和加载