异步加载Google Analytics是否仍然有好处;现代的“;浏览器

Are there still benefits to async loading Google Analytics on "modern" browsers?

本文关键字:浏览器 Google 加载 Analytics 是否 异步      更新时间:2023-09-26

从阅读来看,异步加载Google Analytics似乎主要是一种在加载IE6和IE7等JavaScript时加速浏览器阻塞的策略。在并行加载JavaScript并且通常能更好地处理JavaScript的较新浏览器中,好处似乎会减少。

如果我们只考虑"较新的浏览器"(比如IE8+和已有1-2年历史的Firefox和Chrome版本),那么使用异步加载脚本还有显著的优势吗?如果是,它们是什么?

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

  • 脚本标记可能会将dom更改为"原位"。如果你的js有一个document.write()调用,那么它必须发生在脚本标记所在的地方,而不是在代码执行时浏览器可能在加载的地方,而且在它有实际的js文件之前,浏览器无法知道你是否在做这件事。

    脚本标记上的defer属性让浏览器知道,您的脚本不会包括任何这样的dom修改调用,它可以安全地继续加载其他所有东西,并在获得javascript时运行它。

  • 必须按顺序处理脚本标记。如果你包含两个脚本(比如谷歌分析和脸书),你的浏览器在运行第一个脚本之前不允许运行第二个脚本。换句话说,如果你使用的第三方服务中有一个速度减慢,你的整个页面都在等待它

    async属性具有与defer相同的效果("我保证不会尝试在适当的位置更改dom"),但它也"告诉"浏览器脚本标记不必在其后面的标记之前运行,浏览器可以随时运行它。

    因此,在这个例子中,如果你的脚本是异步加载的,它会告诉你的浏览器,如果它在分析之前获得了facebookjs文件,它可以立即运行,而无需等待。

相关文章: