在“现代”浏览器上异步加载Google Analytics仍然有好处吗?

时间:2013-08-29 18:50:05

标签: javascript google-analytics

从阅读开始,似乎异步加载Google Analytics主要是一种加速浏览器加载JavaScript的策略,例如IE6和IE7。在较新的浏览器中,并行加载JavaScript,并且通常更好地处理JavaScript,似乎好处减少了。

如果我们只考虑“新浏览器”(比如IE8 +和1-2岁版本的Firefox和Chrome),使用异步加载脚本还有很大的优势吗?如果是这样,他们是什么?

1 个答案:

答案 0 :(得分:3)

即使现代浏览器具有改进的并行加载和其他性能方面的改进,仍然有两条规则要求它们在使用简单的脚本标记时强制做出牺牲:

  • 脚本标签可能会“就地”更改dom。如果你的js有一个document.write()调用,它必须发生在脚本标记的任何地方,而不是代码执行时浏览器可能在其加载的位置,并且浏览器无法知道你是否在做它是否具有实际的js文件。

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

  • 必须按顺序处理
  • 脚本标记。如果您包含两个脚本(例如,谷歌分析,然后是Facebook),则在第一个脚本运行之前,不允许您的浏览器运行第二个脚本。换句话说,如果您使用的某个第三方服务速度变慢,那么整个页面都在等待它。

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

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