vue解决微信浏览器回退记录

一.以下代码是我最近项目中用到的,但是我遇到了个坑 就是如果一个页面回退监视的层次过多 会出现闪的问题(页面地址一直在闪硕)

 methods:{
        pushHistory() { // 修改history
         let state = {
              title: "",
              url: "/home/Recharge" // 这个url可以随便 填,只是为了不让浏览器显示的url地址发生变化,对页面其实无影响,但是最好写页面当前的地址,因为这个地址他会默认替换你当前的地址 再次刷新会找不到页面
            };
          window.history.pushState(state,state.title,state.url);
        }, 
mounted(){
        // 添加返回事件监听,注意对window添加监听事件即使当前这个页面销毁,这个事件会一直存在。也就是这个mounted执行过后,以后其他页面的返回也进入此方法,但因为此方法回调内对象已销毁,所以这里不会有问题。具体介绍请查看我博客。
        if (window.history && window.history.pushState){
          window.addEventListener("popstate",function(e){
            //这里进行跳转操作
          }, false);
        }
        _this.pushHistory()
      },
 destroyed (){ //清楚下监听事件 不过这段貌似没有什么用在微信浏览器里面
        window.removeEventListener('popstate',this.radeRouterback, false);
      },

你可能感兴趣的:(vue解决微信浏览器回退记录)