首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法让google分析在我的页面上工作,它使用AJAX加载其页面。

无法让google分析在我的页面上工作,它使用AJAX加载其页面。
EN

Stack Overflow用户
提问于 2010-01-14 21:09:40
回答 1查看 428关注 0票数 2

因此,在经历了巨大的头痛之后,我让我的站点全部通过ajax加载它的页面。原因是客户想让它像他们以前的闪存网站一样流动。是啊。

总之,一切都很棒,但我加入了谷歌分析追踪器,它不会再加载了!

下面是我是如何做ajax的:

代码语言:javascript
复制
$("li.home a").click (function() {       
    ajax_load("index.php",this);
    return false;
});
$("li.location a").click (function() {
    ajax_load("location.php",this);
    return false;
});

etc...

function ajax_load(page,element) {

    // deals with making an element active in left nav
    $('#mainnav').find('li.active').removeClass('active');
    $(element).parent().addClass('active');

    // empty the wrapper, then add new content with a fade effect
    $("#wrapper").empty();
    $("#wrapper").css({'display' : 'none'})
    $.ajax({
        type: "POST",
        url: page,
        success: function(msg){            
            $("#wrapper").append(msg);
            $("#wrapper").fadeIn();
        }
    });

    // set the page hash, so we can add these pages to favorites if wanted
    var strLen = page.length;
    page = page.slice(0,strLen-4);
    window.location.hash = page;
}

所有单独的页面都是php文件。当它们被加载时,会在文件的开头进行检查,看看它是否是ajax请求。如果是..。它跳过页眉和导航到内容,然后跳过页脚。这允许它在javascript被禁用时工作。

因此,为了让google分析在ajax页面上工作,我想我可以简单地将google跟踪代码放在当ajax请求加载的区域内……

哦,那不管用!现在,唯一有谷歌游戏跟踪代码的页面是布局计划页面,这样你就可以看到正在发生的事情。任何指点都将不胜感激!

下面是google跟踪代码im,使用:

代码语言:javascript
复制
    <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11737385-5");
pageTracker._trackPageview();
} catch(err) {}</script>

//更新//

我相信这样就行了,谢谢你,佩卡!

代码语言:javascript
复制
    $.ajax({
    type: "POST",
    url: page,
    success: function(msg){            
        $("#wrapper").append(msg);
        $("#wrapper").fadeIn();
        pageTracker._trackPageview(page);
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-14 21:11:38

您可以使用一个函数,_trackPageview。见

如何跟踪AJAX应用程序

对于典型的HTML页面,您可以使用URL来区分多个页面视图。但是在AJAX应用程序中,对服务器的请求是在不更改页面URL的情况下进行的,因此很难跟踪。

但是,通过调用_trackPageview函数,您可以为任何AJAX事件分配一个页面文件名。通常,这是作为onreadystatechange函数的一部分完成的,在返回数据并对页面进行所有更新之后。。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2067592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档