百度统计是百度推出的一款免费的专业网站流量分析工具,能够告诉用户访客是如何找到并浏览用户的网站,在网站上做了些什么,有了这些信息,可以帮助用户改善访客在用户的网站上的使用体验,不断提升网站的投资回报率。
我们在申请百度统计后,会得到一段 JS 代码,需要插入到每个网页中去,如果是普通的 HTML 网页我,们只需要在公共底部的 script 标签内即可,这样不管用户访问那个页面,都会统计到。
那么如何在 vue 项目中使用呢?在Vue.js
项目首先想到的可能就是,把统计代码插入到index.html
入口文件中,这样就全局插入,每个页面就都有了。这样做就涉及到一个问题,Vue.js
项目是单页应用,每次用户浏览网站时,访问内页时页面是不会刷新的,也就意味着不会触发百度统计代码,所以最终在百度统计后台看到的效果就是只统计到了网页入口的流量,却无法统计到内页的访问流量。
解决方法
我们可以在main.js
文件中调用vue-router
的afterEach
方法,将统计代码加入到这个方法里面,这样每次 router 发生改变的时候都会执行一下统计代码,这样就达到了目的,具体代码如下:
router.afterEach( ( to, from, next ) => { setTimeout(()=>{ //百度统计 var _hmt = _hmt || []; (function() { //每次执行前,先移除上次插入的代码 document.getElementById('baidu_tj') && document.getElementById('baidu_tj').remove(); var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?xxxx"; hm.id = "baidu_tj" var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); },0); } );
结语
以上就是关于 vue 中如何加入百度统计代码的方法,希望对你有用。