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

无论如何,一切都是花花公子,但后来我添加了Google Analytics(分析)跟踪器,它将不再加载!

所以这是我如何做ajax:

$("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 Analytics(分析)能够在Ajax页面加载上工作,我想我可以将Google跟踪代码粘贴在Ajax请求时加载的区域内...

好吧,那行不通!现在,唯一带有google anayltics跟踪代码的页面是楼层平面图页面,因此您可以看到正在发生的事情。任何指针将不胜感激!

这是使用以下方法的Google跟踪代码:
    <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>

// 更新 //

相信应该这样做,谢谢Pekka!
    $.ajax({
    type: "POST",
    url: page,
    success: function(msg){
        $("#wrapper").append(msg);
        $("#wrapper").fadeIn();
        pageTracker._trackPageview(page);
    }

最佳答案

您可以使用_trackPageview这个功能。参见Google Analytics manual:

关于javascript - 无法使Google Analytics(分析)在使用AJAX加载其页面的页面上工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2067592/

10-11 23:25
查看更多