这是加载谷歌分析和jQuery的最佳方式吗
Is this the best way to load google-analytics and jQuery
我不需要jQuery在页面加载时立即可用:
到目前为止,我有以下内容:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '...']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
var gb = document.createElement('script'); gb.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
gb.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
s.parentNode.insertBefore(gb, s);
})();
</script>
我不能百分之百肯定这是最有效的方法。有人能告诉我我做事情的方式是否是最好的吗。
感谢
Mathias Bynens写了一篇关于优化Google Analytics片段的文章。这是"你想知道但又不敢问的一切"的版本。
http://mathiasbynens.be/notes/async-analytics-snippet
TL;DR版本他最终得到的是:
<script>
var _gaq = [['_setAccount', 'UA-XXXXX-X'], ['_trackPageview']];
(function(d, t) {
var g = d.createElement(t),
s = d.getElementsByTagName(t)[0];
g.async = g.src = '//www.google-analytics.com/ga.js';
s.parentNode.insertBefore(g, s);
}(document, 'script'));
</script>
缩小后,你会得到这个:
<script>var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.async=g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script>
优化后的代码缩小到247字节,执行速度比原始代码(440字节)更快。
至于jQuery,我个人不喜欢将其包含在谷歌分析片段中,而是喜欢HTML5 Boilerplate方法,即链接到谷歌的CDN,然后包括本地回退,以防它不可用。
<!-- Grab Google CDN's jQuery. fall back to local if necessary -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery.min.js"%3E%3C/script%3E'))</script>
"最佳"是主观的,但对这个主题感兴趣的是这里的一篇文章。
这个家伙使用google.load
和<script>
导入的一般方式来加载jQuery。
就维护和性能而言,我个人总是找到常规的方法来满足需求。
您的代码存在问题
1.如果谷歌的CDN失败,你就无法备份本地文件。
2.GA脚本通常最好放在页面的底部,而加载jQuery最好放在顶部,因为从该页面派生的所有页面都将被迫将其与jQuery相关的脚本放在主页面上jQuery的相对方向下方才能工作。
相关文章:
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 从数组中删除元素的最佳方法是:javascript/jquery
- 什么'这是加载jQuery的最佳方式
- 在jquery库中重新定义方法的最佳方法
- 存储数据的最佳方式是什么,以便与jquery一起使用
- 使用 jQuery 从 HTML 中获取某些值的最佳方法
- 在jquery中设置多个全局变量的最佳方式
- 在对象类上实现 jquery 作用域的最佳方法
- 跟踪 Jquery 和 CSS 标识符的最佳方法是什么?
- 让 jquery 为 ajax 添加的元素工作的最佳方法是什么?
- 网站范围内jQuery/javascript选择器的最佳实践
- 使用phonegap在jquery-mobile中链接页面/加载javascript的最佳实践是什么
- JavaScript/jQuery:格式化日期计算结果的最佳方式
- jQuery mobile-保存用户输入的最佳方式是什么
- jQuery页面结构使用$(document).ready(function(){}的最佳实践
- 在没有JQuery的情况下加载HTML主体之后调用JavaScript脚本的最佳方式
- 缓存和缩小dojo、jquery-js和CSS的最佳java工具
- 提交多个输入字段 jQuery/PHP 的最佳方式
- JQuery 最佳实践
- web应用的Javascript/jQuery最佳实践:集中化vs.规范