我知道延迟和异步,但我仍然怀疑异步加载在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会发生什么?
答案 0 :(得分:0)
appendChild只会向文档正文添加一个脚本元素。
脚本元素的下载只有在添加到正文后才会开始。 这不会阻止在appendChild之后执行javascript。
Nicholas C. Zakas撰写了一篇很好的文章,解释了它是如何运作的article