gpt4 book ai didi

javascript - 为什么外部js脚本经常加载HTML页面底部的document.write()?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:36:54 25 4
gpt4 key购买 nike

这方面的一个例子是谷歌分析:

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

将 document.write() 替换为文字值是否同样好:

<script type="text/javascript" src="http://www.google-analytics.com/ga.js">

?我猜标签是用 document.write() 输出的,只是因为 gaJsHost ('http://www.') 的值事先不知道。但是,如果它是已知的,是否有任何理由使用 document.write() 输出脚本标记而不是按字面意思包含它?

最佳答案

默认情况下,当在 html 页面上遇到脚本时,会阻止加载页面的其余部分。只有当他们完成下载和执行后,页面的其余部分才会继续加载。来自高性能 Javascript,作者 Nicholas C. Zakas :

This is a necessary part of the page’s life cycle because the script may cause changes to the page while executing. The typical example is using document.write() in the middle of a page (as often used by advertisements).

通过动态插入脚本,就像上面所做的那样,您可以克服这种行为 - 没有页面阻塞 - 加载是异步发生的。

通过将它放在页面底部,您可以确保在 javascript 之前加载 html 和 css。这样,在加载 javascript 时,用户已经可以看到该页面。

一切都与性能有关。

关于javascript - 为什么外部js脚本经常加载HTML页面底部的document.write()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12571515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com