谷歌分析内部文件准备不工作

Google Analytics inside Document ready not working?

本文关键字:工作 文件 内部 谷歌      更新时间:2023-09-26

关于为什么这个工作的原因的快速问题:

<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>

是什么阻碍分析在文档准备就绪时运行?

您需要将_gaq变量声明置于全局作用域

<script type="text/javascript">
var _gaq = _gaq || [];
$(function(){
  _gaq.push(['_setAccount', 'UA-XXXXX-Y']);
  _gaq.push(['_trackPageview']);
  ...

或使window._gaq属性与谷歌分析使用

<script type="text/javascript">
$(function(){
  window.gaq = window._gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-Y']);
  _gaq.push(['_trackPageview']);
  ...

这可能与Google自己加载到DOM中的JavaScript代码有关。它可能被设置为在文档加载(或其他一些readystate/load事件)时运行。由于脚本是在DOM准备好(jQuery.load)时执行的,所以GA不会执行,因为ready事件已经触发。

如果这不是问题,那么它可能是一个范围问题。