gpt4 book ai didi

javascript - 在 "modern"浏览器上异步加载 Google Analytics 是否还有好处?

转载 作者:行者123 更新时间:2023-11-29 10:46:35 25 4
gpt4 key购买 nike

从阅读中可以看出,异步加载 Google Analytics(分析)似乎主要是一种加速加载 JavaScript 时阻塞的浏览器(例如 IE6 和 IE7)的策略。在并行加载 JavaScript 并且通常可以更好地处理 JavaScript 的较新浏览器中,优势似乎有所减弱。

如果我们只考虑“较新的浏览器”(比如 IE8+ 和 1-2 年前的 Firefox 和 Chrome 版本),使用异步加载脚本是否仍然有显着优势?如果有,它们是什么?

最佳答案

即使现代浏览器改进了并行加载和其他方面的性能,它们仍然必须遵守两条规则,当您使用简单的脚本标签时,它们会迫使它们做出一些牺牲:

  • 脚本标签可以“就地”改变dom。如果你的 js 有一个 document.write() 调用,它必须发生在脚本标签所在的位置,而不是代码执行时浏览器可能正在加载的位置,并且浏览器没有在它具有实际的 js 文件之前知道您是否正在执行此操作的方法。

    script 标签上的 defer 属性让浏览器知道您的脚本不会包含任何此类 dom 修改调用,它可以安全地继续加载其他所有内容并运行 javascript每当它得到它。

  • 脚本标签必须按顺序处理。如果您包含两个脚本(例如,google analytics 和 facebook),则在第一个脚本运行之前,您的浏览器不允许运行第二个脚本。换句话说,如果您使用的第三方服务之一速度变慢,您的整个页面都在等待它。

    async 属性与 defer 具有相同的效果(“我保证我不会尝试就地更改 dom”),但它也告诉浏览器脚本标记不必在其后的标记之前运行,浏览器可以在需要/可以时运行它。

    所以在那个例子中,如果你的脚本是异步加载的,它会告诉你的浏览器,如果它在分析文件之前获取 facebook js 文件,它可以立即运行它而无需等待。

关于javascript - 在 "modern"浏览器上异步加载 Google Analytics 是否还有好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18518857/

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