异步加载Google Analytics是否仍然有好处;现代的“;浏览器
Are there still benefits to async loading Google Analytics on "modern" browsers?
从阅读来看,异步加载Google Analytics似乎主要是一种在加载IE6和IE7等JavaScript时加速浏览器阻塞的策略。在并行加载JavaScript并且通常能更好地处理JavaScript的较新浏览器中,好处似乎会减少。
如果我们只考虑"较新的浏览器"(比如IE8+和已有1-2年历史的Firefox和Chrome版本),那么使用异步加载脚本还有显著的优势吗?如果是,它们是什么?
即使现代浏览器已经改进了并行加载和其他性能,它们仍然必须遵守两条规则,这迫使它们在使用简单的脚本标记时做出一些牺牲:
-
脚本标记可能会将dom更改为"原位"。如果你的js有一个
document.write()
调用,那么它必须发生在脚本标记所在的地方,而不是在代码执行时浏览器可能在加载的地方,而且在它有实际的js文件之前,浏览器无法知道你是否在做这件事。脚本标记上的
defer
属性让浏览器知道,您的脚本不会包括任何这样的dom修改调用,它可以安全地继续加载其他所有东西,并在获得javascript时运行它。 -
必须按顺序处理脚本标记。如果你包含两个脚本(比如谷歌分析和脸书),你的浏览器在运行第一个脚本之前不允许运行第二个脚本。换句话说,如果你使用的第三方服务中有一个速度减慢,你的整个页面都在等待它
async
属性具有与defer
相同的效果("我保证不会尝试在适当的位置更改dom"),但它也"告诉"浏览器脚本标记不必在其后面的标记之前运行,浏览器可以随时运行它。因此,在这个例子中,如果你的脚本是异步加载的,它会告诉你的浏览器,如果它在分析之前获得了facebookjs文件,它可以立即运行,而无需等待。
- 如何使用Google Places Javascript API搜索附近的位置(自动从浏览器获取坐标)
- Google Maps Javascript API v3 地图显示在桌面浏览器上,但不会显示在移动浏览器上
- html+css+js组合在Google Chrome或Safari浏览器中无法正常工作
- 谷歌图书预览没有在安全的https上显示图书图像链接,但在http上工作.在Google Chrome和Touch浏览器
- 仅当浏览器不是Google Chrome时显示消息
- 如何从Google Chrome浏览器中打开浏览窗口
- 使javascript警报/确认对话框更加可见(特别是在Google Chrome浏览器中)
- 从chrome浏览器网址打开应用程序或使用javascript重定向到Google Play
- 使用 JavaScript 更改浏览器语言代码,用于 Google Analytics
- 仅在使用 javascript 的非移动浏览器上插入 Google 实验代码
- 组合两个脚本以在所有浏览器上保存Google图表时出现问题
- 在Google Chrome和Safari浏览器上无法更改输入类型
- 异步加载Google Analytics是否仍然有好处;现代的“;浏览器
- Javascript Google Maps API在Web浏览器中加载,但不在Android浏览器中加载
- 从Google Chrome浏览器在本地播放器中打开视频URL
- 安卓浏览器没有'在页面重新加载时加载Google Maps API
- 为什么Google Maps服务器需要访问客户端浏览器中添加的KML层?
- firebug和google开发工具没有显示哪些内容,哪些浏览器可以看到
- 利用地图.根据Google pagespeedinsights的建议,googleapi浏览器缓存
- Chrome浏览器Google帐户注销或Google帐户切换事件