vue单页面引入百度统计

开始第一想法就是放在index.html都可以调用,回头一想不对,聪明反被聪明误,vue不会页面刷新了,也就是你的加载百度统计代码也就那一次,统计也就一次,很显然不对

下面是百度给的代码

var_hmt = _hmt || [];

   (function() {

    //每次执行前,先移除上次插入的代码

    document.getElementById('baidu_tj') && document.getElementById('baidu_tj').remove();

    varhm = document.createElement("script");

    hm.src ="https://hm.baidu.com/hm.js?xxxx";

    hm.id ="baidu_tj"

    vars = document.getElementsByTagName("script")[0];

    s.parentNode.insertBefore(hm, s);

   })();

vue路由的时候每次都要经过

router.beforeEach((to,from ,next)=> {

})

,进入页面每次调用就可以,对思路没错,那代码写好,对了吗?

最后发现统计的还是一个页面的,,,

哪里出问题了,

对,你需要给百度一个说我统计的是这个链接的,代码如下

if (to.path) {

_hmt.push(['_trackPageview', '/#' + to.fullPath]);

}

还有一点不要着急,百度的统计貌似刷新比较慢,测试的时候看看里面有没统计到

完整代码如下

router.beforeEach((to,from ,next)=> {

//处理统计

if(window.location.host.indexOf("lianghui") != -1){

document.getElementById('baidu_tj') && document.getElementById('baidu_tj').remove();

var hm = document.createElement("script");

hm.src = "https://hm.baidu.com/hm.js?你的id";

var s = document.getElementsByTagName("script")[0];

hm.id = "baidu_tj"

s.parentNode.insertBefore(hm, s);

 

 

if (to.path) {

_hmt.push(['_trackPageview', '/#' + to.fullPath]);

 

}

}

 

next()

})

 

还有一个重要的一个

var _hmt = _hmt || [];

这个我是写在index.html文件里了

好了就到这里吧,下班了。。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值