页面加载性能之禁用document.write

本文讨论了document.write对页面加载性能的影响,尤其是在2G网络下的延迟问题。Chrome从55版本开始对此进行干预。修复方法是避免使用document.write,或确保脚本异步加载。可以通过Network Information API检测用户网络状况,以及分析HTTP Headers来识别问题。

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

如果你在控制台看到了以下信息,那么这篇文章对你而言应该会有帮助:

(index):34 A Parser-blocking, cross-origin script,
https://paul.kinlan.me/ad-inject.js, is invoked via document.write().
This may be blocked by the browser if the device has poor network connectivity.

对于现在的web的开发者而言,document.write 应该是入门级的DOM API,但实际项目开发中,却很少使用。如果面试官问你为什么不去使用它,你会怎么回答?

很多人可能会说这个性能低,那么为什么低呢?先看个例子:

document.write('<script src="https://paul.kinlan.me/ad-inject.js"></script>');

在浏览器渲染页面之前,会去根据HTML标签解析DOM树。如果解析器遇到了 <script> 标签,则会停止DOM的解析,优先执行脚本。如果这个脚本动态插入了另一个脚本,则解析器会等待另一个脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值