异步脚本属性vs异步属性?

时间:2013-11-11 08:07:12

标签: javascript html5 html5-async

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属性?

1 个答案:

答案 0 :(得分:3)

async属性/属性比您想象的要早(至少在某些浏览器版块中)。但其真正原因在于,大多数浏览器始终将script / createElement中添加到DOM的所有appendChild元素视为“异步”(不需要script.async = true )。几年前,只有几个浏览器同步处理它们(在脚本被提取和执行之前没有执行下一行代码),并且有问题的浏览器已经更新了它们的行为。