因此,在经历了巨大的头痛之后,我让我的站点全部通过ajax加载它的页面。原因是客户想让它像他们以前的闪存网站一样流动。是啊。
总之,一切都很棒,但我加入了谷歌分析追踪器,它不会再加载了!
下面是我是如何做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分析在ajax页面上工作,我想我可以简单地将google跟踪代码放在当ajax请求加载的区域内……
哦,那不管用!现在,唯一有谷歌游戏跟踪代码的页面是布局计划页面,这样你就可以看到正在发生的事情。任何指点都将不胜感激!
下面是google跟踪代码im,使用:
<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>//更新//
我相信这样就行了,谢谢你,佩卡!
$.ajax({
type: "POST",
url: page,
success: function(msg){
$("#wrapper").append(msg);
$("#wrapper").fadeIn();
pageTracker._trackPageview(page);
}发布于 2010-01-14 21:11:38
您可以使用一个函数,_trackPageview。见
如何跟踪AJAX应用程序?
对于典型的HTML页面,您可以使用URL来区分多个页面视图。但是在AJAX应用程序中,对服务器的请求是在不更改页面URL的情况下进行的,因此很难跟踪。
但是,通过调用_trackPageview函数,您可以为任何AJAX事件分配一个页面文件名。通常,这是作为onreadystatechange函数的一部分完成的,在返回数据并对页面进行所有更新之后。。
https://stackoverflow.com/questions/2067592
复制相似问题