我有一个使用 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/。