自自幼站搭起来以后,碰到了各类百般的小问题。就譬如这个AJAX下的CNZZ统计问题。
一般情况下触发统计都是以页面加载为主,详细来讲就是页面的CNZZ统计JS被执行。而AJAX是局部革新,静态文件(包罗JS)是不会重新加载的。
之前就碰到了差不多的问题:搞定AJAX(PJAX)下代码高亮没法衬着的问题
幸亏CNZZ供给了AJAX下的搞定计划,要不然又得一通瞎折腾。
筹办
1.一般安装JS统计代码到页面的</body>标签前
2.在统计代码下安装预配置代码,仔细配置
//声明_czc工具:
var _czc = _czc || [];
//绑定siteid,请用您的siteid掉换下方"XXXXXXXX"部分
_czc.push(["_setAccount", "XXXXXXXX"]);
如果页面中只包罗1个CNZZ统计代码,则 _czc.push([“_setAccount”, “XXXXXXXX”]) 能省略,API将会主动匹配。但如果页面中增加了多个CNZZ统计代码,那这行代码就是必不可少的。除非此处绑定的siteid才会相应API请求,其他代码疏忽请求,不受影响。
安装到ajax
只需要在ajax的complete或者success事变中进入CNZZ供给的虚拟PV跟踪代码。仔细说明
_czc.push([ "_trackPageview",content_url,referer_url]);
因而只需要获得content_url与referer_url便可,伏笔VPS是这样写的:
$("body").on("click","a",function() {
//获得某a标签在click事变触发ajax时,当前页面的href
var referer_url = window.location.href;
$.ajax({
//这里是ajax事变
//省略
success: function(data){
//获得ajax执行后确当前页面的pathname
var content_url = window.location.pathname;
_czc.push([ "_trackPageview",content_url,referer_url]);
}
})
})
这样就完成了每回AJAX加载后可以挪用CNZZ统计到信息
补充
有些Chrome插件,如uBlock,可能会屏蔽CNZZ的JS代码,导致预置的 _czc 失效。因而就需要断定CNZZ的JS能否已加载
if (typeof _czc != "undefined") {
_czc.push([ "_trackPageview",content_url ,referer_url]);
}
原文链接:https://vps.fubi.hk/foreshadowingvps/zhishiku/20181025/6224.html