AJAX加载影响了统计代码怎么解决?

网站用 instantclick 用 pjax 方式加载内容,网站本身的JS代码自己可以调整,但是影响了一些类似百度统计/CNZZ的通用JS代码,没办法正常统计,有没一个有效的办法让这些代码正常执行?

注意:不是要去定制统计代码,专门去使用配置参数来使用这些统计代码的接口实现统计我知道怎么做,我现在想知道,有没有一个一劳永逸的办法,任何JS代码都可以正常执行的办法,有没有?

阅读 7.3k
3 个回答

每次换页都重新加载一下统计js

var c=document.createElement('script');
c.src='统计js?_r='+Math.random();
document.body.appendChild(c);

其实大部分情况

var c=document.createElement('script');
c.src='统计js';
document.body.appendChild(c);

这样就行

这里统计的问题应该 pjax代替了页面跳转导致Pv统计不准确,都算到入口页面上了。
虽然url在每次点击中都会变化,但是统计js并没有捕捉onpopstate事件做相应的处理。

目前还没发现哪个统计平台针对这个问题做出了应对,目前只能通过手动上报解决。

iframe 大法。把統計代碼放到 iframe 中,pjax 刷新的時候順便刷新下 iframe。

也可以在 iframe 中指定不同的 url 方便統計。比如 /statistics.html?o=/index.html

這樣就可以統計出具體是哪些頁面了。