例子
用 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…