异步脚本属性与异步属性



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

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

相关内容

最新更新