当前位置: 首页 > Web前端 > HTML

红皮书:在HTML中使用Script章节总结

时间:2023-04-02 16:44:37 HTML

浏览器解析器从上到下解析。当遇到脚本标签时,解析会停止,直到脚本被加载并执行。html中插入脚本的方法:外部脚本、嵌入脚本脚本属性:async(异步脚本):可选。表示应立即下载脚本,但不应阻止页面上的其他操作,例如下载其他资源或等待其他脚本加载。必须在页面的加载事件之前执行,但可以在DOMContentLoaded事件触发之前或之后执行。defer(延迟脚本):可选。表示可以延迟脚本执行,直到文档被完全解析和显示。仅对外部脚本文件有效。延迟到才加载。当有两个defer脚本标签时,理论上它们会在DOMContentLoaded事件之前按顺序加载。事实上,它可能是乱序的(不可靠的),也不一定是在DOMContentLoaded事件之前。蓝线代表网络读取,红线代表执行时间,都是脚本;绿线代表HTML解析。async和defer的共同点:net阶段是异步的。仅适用于外部脚本。区别:执行阶段不同。async更适合它,但是它非常适合那些不依赖任何脚本或者不依赖任何脚本的脚本。最典型的例子:GoogleAnalytics浏览器遇到标签就开始渲染内容。大佬写过一篇文章讲过这个内容,为什么JS调用尽量放在页面底部?https://www.zhihu.com/questio...JavaScript性能优化:加载与执行https://www.ibm.com/developer...JavaScript启动性能瓶颈分析与解决方案https://zhuanlan.zhihu.com/p/...高效前端7:加快页面打开速度https://zhuanlan.zhihu.com/p/...《浏览器的工作原理:新式网络浏览器幕后揭秘》https://www.html5rocks.com/zh...