script工作原理

本文详细介绍了网页加载的过程,包括浏览器如何一边下载HTML一边解析、遇到<script>元素时如何暂停解析并执行JavaScript代码、如何处理外部脚本加载及执行顺序、以及CSS解析对网页渲染的影响等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正常的网页加载流程:

  1. 浏览器一边下载HTML网页,一边开始解析。也就是说,不等下载完,就开始解析。
  2. 解析过程中,发现<script>元素,就暂停解析,把网页渲染的控制权转交给JavaScript引擎
  3. 如果<script>元素引用了外部脚本,就下载该脚本再执行,否则就直接执行代码(因为js可以修改DOM);如果脚本加载时间过长,造成‘阻塞效应’,所以最好将<script>标签放在页面底部。如果某些代码一定要放在头部,最好直接将代码写入页面,而不是链接外部脚本。
  4. Javascript引擎执行完毕,控制权交还渲染引擎,恢复往下解析HTML网页。
  5. 多个<script>外链标签,浏览器会同时下载,但是,会从上到下执行相应的js文件,即使后者先下载完成。(为保证脚本的依赖关系不会受到破坏)。
  6. 解析和执行css,也会产生阻塞。
  7. 对于来自同一个域名的资源,比如脚本文件、样式表文件、图片文件等,浏览器一般有限制,同时最多下载6~20个资源,但是不同域名的资源,没有这个限制。所以通常把静态文件放在不同的域名下,以加快下载速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值