1

async属性 , 是 HTML5 较新的特性,表示
下载的文件不会调用document.write,可以在页面处理过程中下载

但我听说还有另一种异步加载脚本的方法,它向后兼容 旧的浏览器

async事实证明,我可以通过在 JavaScript 中动态创建脚本 DOM 元素并将其附加到页面来重新创建属性实现的行为。

例子 :

var script = document.createElement('script');
script.src = 'http://camerastork.com/widget.js?product=1234';
script.async = true
...

因此,如果它适用于不支持的旧浏览器async——它怎么可能——我仍然可以使用.async属性?

4

1 回答 1

3

async属性/属性比您想象的要旧(至少在某些浏览器谱系中)。但这样做的真正原因是大多数浏览器总是将通过/script添加到 DOM 的所有元素视为“异步”(不需要)。几年前,只有几个浏览器同步处理它们(在获取并执行脚本之前不执行下一行代码),并且相关浏览器已经更新了它们的行为。createElementappendChildscript.async = true

于 2013-11-11T08:09:22.223 回答