因此,在经历了巨大的头痛之后,我让我的网站全部通过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/