在我的javascript中的某一点我已在(使用Modernizr的2.6.2)以下内容:
Modernizr.load([{
load: '/path/file.js',
complete: function () {
//do stuff
}
}]);
它的伟大工程的大部分时间,除了在IE8,开出3约1时首先执行的回调,然后加载脚本。 我的回调和其他内部file.js.添加一个破发点 这两个脚本正在执行,只是在交换倍的量级。
我试图孤立和重现错误,但我不能。 当我的页面(使用完全相同的Modernizr的文件)中只有这个代码它的工作原理,每次罚款。 出于这个原因,我相信其他人对我的项目的东西可以干扰,但我有什么沿10000下一个看起来毫无头绪(真的!)JS的线。 任何人都经历类似的话或有什么可能会导致这种行为的任何想法?
我不想替此特定情况下的解决方法。 这是许多情况下,我真的想保持原样之一。
编辑1 -新信息:使用网络面板,我可以看到有两个请求被完成( 预计 ),但在第一次请求总是返回空白。 第二个请求带来了正确的内容。 当两个请求完成后执行回调,但有时回调第一(空)和第二个请求之间执行的正常工作。 这是当它崩溃!
编辑2 -最新资讯:好吧好像现在我可以复制它。 是100%确定我的假设我必须知道在深的JavaScript引擎,这是我没有,所以我可能是完全错误的,但这里是我发现:
请求file1.js和file2.js。 如果文件2完成加载,而发动机是忙于执行文件1的回调,文件2执行去某处的队列,文件2的回调之后,这意味着结束。