关于为什么 有效的原因的快速提问:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_trackPageview']);
(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>
此 不:
<script type="text/javascript">
$(function(){
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_trackPageview']);
(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>
阻止分析在文档准备好的情况下运行的是什么?
答案 0 :(得分:3)
您需要将_gaq
变量声明放入全局范围
<script type="text/javascript">
var _gaq = _gaq || [];
$(function(){
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_trackPageview']);
...
或将window._gaq
属性与google analytics一起使用
<script type="text/javascript">
$(function(){
window.gaq = window._gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_trackPageview']);
...
答案 1 :(得分:2)
这可能与Google本身加载到DOM中的JavaScript代码有关。哪个可能设置为在文档加载(或其他一些readystate / load事件)上运行。由于在DOM准备就绪时正在执行脚本(jQuery.load
)GA将不会在已经触发的就绪事件时执行。
如果这不是问题,那么它可能是一个范围问题。