让我把这个脚本直接放在起始头标记之后:
(function () {
var a = document.createElement('script');
var m = document.getElementsByTagName('script')[0];
a.async = !1;
a.src = 'loader.js';
m.parentNode.insertBefore(a, m);
})();
我可以确定,在上面的功能块之后会立即执行loader.js吗?
尽管在浏览器正在执行的当前位置之前插入了loader.js的加载。
答案 0 :(得分:1)
根据MDN:
脚本插入的脚本在IE和WebKit中异步执行,但是 同步在Opera和4.0之前的Firefox中。在Firefox 4.0中,异步 对于脚本创建的脚本,DOM属性默认为true,因此 默认行为与IE和WebKit的行为相匹配。请求 脚本插入的外部脚本按插入顺序执行
document.createElement("script").async
评估的浏览器true
(例如Firefox 4.0),在您想要的脚本上设置.async=false
维持秩序。