不要使用 document.write !

例子

用 document.write 输出一个 script 标签:

<script src="a.js"></script>
<script>
document.write('<script src="http://www.something.com/b.js"><\/script>')
</script>
<script src="c.js"></script>

由于 b.js 是通过 JS 代码插入的,HTML 预解析器是看不到的,所以只有当 a.js 下载并执行完毕,且第二个内联的 script 执行完毕后,b.js 才会开始下载,也就是说,b.js 不能和 a.js 及 c.js 并行下载了,从而导致页面展现变慢,同样假设每个文件的下载时间都是 1 秒,那么这三个文件下载执行完就需要两秒,就因为 b.js 不能预加载。

正文

document.write 在页面(body)中输出,缺点:会影响现有的页面布局

使用 document.write 注入一段脚本会引起严重的网站加载耗时问题。

同时,Chrome 也不再执行通过 document.write 注入的脚本,会禁止通过该指令注入脚本。

参考

为什么要避免使用document.write,尤其是脚本注入
去掉你代码里的 document.write("<script…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值