小编典典
当浏览器加载带有
提取HTML页面(例如index.html)
开始解析HTML
解析器遇到一个
浏览器请求脚本文件。同时,解析器阻止并停止解析页面上的其他HTML。
一段时间后,脚本将被下载并随后执行。
解析器将继续解析HTML文档的其余部分。
步骤4会导致不良的用户体验。你的网站基本上会停止加载,直到你下载了所有脚本。如果用户讨厌一件事,它正在等待网站加载。
为什么会发生这种情况?
任何脚本都可以通过document.write()或其他DOM操作插入自己的HTML 。这意味着解析器必须等到脚本被下载并执行后,才能安全地解析文档的其余部分。毕竟,脚本可能已经在文档中插入了自己的HTML。
但是,大多数JavaScript开发人员在文档加载时不再处理DOM 。取而代之的是,他们等到文档加载完成后再进行修改。例如:
My Page
Welcome back, user