在vue中如何监听手机物理返回键,移动端,app

1,使用原理
利用history 和 浏览器 刷新popstate状态 去实现
2,判断浏览器是否支持popstate
什么是popstate请点击此链接查看

//那个界面使用,就把代码写到那个界面
mounted(){
  // 如果支持 popstate 一般移动端都支持了
  if (window.history && window.history.pushState) {
    // 往历史记录里面添加一条新的当前页面的url
    history.pushState(null, null, document.URL);
    // 给 popstate 绑定一个方法 监听页面刷新
    window.addEventListener('popstate', this.backChange, false);//false阻止默认事件
  }
},

3,记得在页面销毁时候,取消默认事件,否则vue路由也会被监听

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

4,下面就可以写自己的物理返回键的函数了

methods:{
  wulifanhui() {
      const that = this;
      //顺便带上
      //微信关闭页面 : wx.closeWindow();
      //h5返回上一级
      //以下方法仅供参考1、返回上一页,不刷新history.html
      //window.history.go(-1); 
     //javascript:window.history.go(-1)
     //2、返回上一页并刷新页面
 //javascript:location.replace(this.href);event.returnValue=false;
//3、返回上一页并刷新
//self.location=document.referrer
//4、返回上一页面刷新的是自己
//javascript:document.parentWindow.location.reload();
      console.log("监听到了");
//vue返回上一级
//this.$router.go(-1)
}

你可能感兴趣的:(vue)