在页面上运行后续脚本之前,我有许多测试条件和文件要加载。有没有办法在加载所有文件后触发回调?
以下内容是这篇文章建议的,传达了我的意图,但实际上不起作用。完整的函数在 1.js 或 2.js 完成加载之前触发。
Modernizr.load([
{
test: App.isSmallScreen,
yep: '1.js',
nope: '2.js'
},
{
test: App.isTouch,
yep: '3.js'
},
{
test: Modernizer.csstransitions,
nope:4.js
},
{
complete: animationInit
}
]);
提前为如此便宜的伎俩道歉,但这是我能想到的最好的。不过,它绝对可以改进。
嵌入它或扩展 Modernizr 以以某种方式构建"完成"事件以更干净地执行此操作可能相当简单。
var completed = []
var complete = function(i) {
completed.push(i)
if (completed.length === 3) animationInit();
}
Modernizr.load([
{
test: App.isSmallScreen,
yep: '1.js',
nope: '2.js',
complete: function() { complete(1); }
},
{
test: App.isTouch,
yep: '3.js'
complete: function() { complete(2); }
},
{
test: Modernizer.csstransitions,
nope:4.js
complete: function() { complete(3); }
}
]);