1

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

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

是什么阻止了分析在准备好文档的情况下运行?

4

2 回答 2

3

您需要将_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']);
  ...
于 2013-03-05T14:51:14.667 回答
2

这可能与 Google 本身加载到 DOM 中的 JavaScript 代码有关。这可能设置为在文档加载(或其他一些就绪状态/加载事件)时运行。由于脚本是在 DOM 就绪时执行的 ( jQuery.load) GA 不会因为 ready 事件已经触发而执行。

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

于 2013-03-05T14:50:55.240 回答