zoukankan      html  css  js  c++  java
  • 【前端vue开发】vue单页应用添加百度统计

    前言

    申请百度统计后,会得到一段JS代码,需要插入到每个网页中去,在Vue.js项目首先想到的可能就是,把统计代码插入到index.html入口文件中,这样就全局插入,每个页面就都有了;这样做就涉及到一个问题,Vue.js项目是单页应用,每次用户浏览网站时,访问内页时页面是不会刷新的,也就意味着不会触发百度统计代码;所以最终在百度统计后台看到的效果就是只统计到了网页入口的流量,却无法统计到内页的访问流量。

    解决方法

    main.js文件中调用vue-routerafterEach方法,将统计代码加入到这个方法里面,这样每次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);
        } );

    转载地址:https://blog.jae.sh/article/v924mq.html

  • 相关阅读:
    docker
    ibus
    看懂gradle
    tcp
    这丫头也的还真清楚,但是跑不通呢,换3.0.3的mybatis也不行
    lsb_release -a
    js中的整型都是用double存储的,有时候不精确,如,
    浏览器缓存及优化
    web即时通信技术
    css 变量
  • 原文地址:https://www.cnblogs.com/xiaohuizhang/p/9098858.html
Copyright © 2011-2022 走看看