【发布时间】:2014-05-22 16:23:38
【问题描述】:
我知道 defer 和 async,但我仍然怀疑异步加载在 UX 方面是否完全异步
我拥有的所有 JS 都流水线化到 application.js 并添加到
标记的底部。现在,那里的一些代码会像这样异步添加其他脚本(即用于分析):
script = document.createElement('script')
script.type = 'text/javascript'
script.src = 'http....js'
document.body.appendChild(script)
一切都好... JS 不会阻塞渲染,在加载后执行等等,但是有一个问题!如果异步加载的脚本被加载了 15 秒,就像我们刚刚添加的一个跟踪工具一样,会发生什么?
我可以注意到页面没有无响应,DOM 准备就绪当然被触发了,但是在.appendChild(script) 之后仍然可以加载的图像或 application.js 中的其余 Javascript 会发生什么?
【问题讨论】: