vue控制ios微信内置浏览器左右返回键的返回路径

443 阅读1分钟
mounted(){
    if (window.history && window.history.pushState) {
      // 往历史记录里面添加一条新的当前页面的url
      history.pushState(null, null, document.URL);
      // 给 popstate 绑定一个方法 监听页面刷新
      window.addEventListener('popstate', this.goBack, false);//false阻止默认事件
    }

}

离开之前必须清除掉监听,否则进去其他页面之后,调回来时就会进入死循环

destroyed(){
    window.removeEventListener('popstate', this.goBack, false);//false阻止默认事件
},

自定义跳转路径,在微信公众号里尤其是首页和登录页是不可以前后退的

 methods:{
    goBack(){
      history.pushState(null, null, document.URL);    //依旧停留在当前页
    },
} 

或者

 methods:{
    goBack(){
      window.location.href = '/report';   //跳转到指定页面
    },
}