为什么Google Analytics会在页面中动态注入javascript
Why does Google Analytics dynamically inject javascript into the page
为什么我需要使用:
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
代替:
<script async="true" type="text/javascript" src="http://www.google-analytics.com/ga.js"></script>
我能看到的唯一原因是他们有一个不同的SSL子域。如果不是这样的话,还有什么理由使用这种脚本注入技术吗?
-
能够根据父页面的协议来提供
http
或https
是一个原因。 -
由于脚本是通过运行JS代码插入的
script
标记注入的,因此它不会阻止页面加载。这是另一个原因。但这也可以通过新的HTML5异步属性很好地实现(但这与旧浏览器不兼容,GA绝对需要与几乎所有浏览器兼容)
相关文章:
- 当从Chrome扩展动态注入JS时,从onload()内部调用方法
- 动态注入javascript文件-为什么大多数示例都附加到头上
- 动态注入SVG过滤器并应用于HTML
- 在JavaScript中,如何等待动态注入的脚本在开始使用之前加载
- 如何检测何时使用javascript动态注入了多个样式表
- 按下按钮时动态注入脚本
- 动态注入时保存文本区域值的夏季注释问题
- jQuery文档是否准备好等待通过Backbone动态注入的html元素
- 在 Angular 中动态注入依赖模块
- 在通过AJAX加载的DOM中运行动态注入的javascript(尝试使用历史记录ajax化网站.js)
- 有没有办法将 css 文件或 javascript 文件动态注入 HTML 文档的 head 标签中
- 如何将外部输入动态注入 SlimerJS 脚本
- JavaScript:动态注入和移除html页面
- 委托事件'的处理程序未在动态注入的HTML上调用
- 设置Meteor JS Helper的返回值,将其动态注入模板中
- 将服务动态注入控制器
- 通过内容脚本 - javascript 将文本动态注入 facebook 的共享对话框
- 动态注入指令
- 由于某些原因,基于路由参数动态注入特定工厂会失败
- 在$stateProvider中动态注入值