3

我创建了一个脚本元素(document.createElement('script')....)我通过以下方式设置它的 async 属性:x.async=true

这意味着脚本没有阻塞并且彼此之间的执行顺序 - 没有保留(相反defer(它也等待 dom 加载。))

问题 :

但是如果我设置了 async 属性——这是否意味着我必须使用 document.ready ?因为我可以运行在将来要下载的脚本文件中声明的方法- 因此会出错

4

1 回答 1

2

从个人经验来看,为了安全起见,最好在异步脚本文件中使用文档就绪或窗口加载。

这是因为在第一次加载之后,JavaScript 文件将被浏览器缓存,并且根据浏览器/情况,可以从缓存中加载并尝试在 DOM 准备好之前执行。

于 2013-11-03T10:29:41.390 回答