vue 微信公众号开发,禁用手机返回键。或指定页面跳出微信公众号。

需求:

通过vue进行微信公众号开发(单页面),希望在微信公众号的首页,按下手机的返回键,退出公众号。而不是返回上一个访问页面。

通过vue-router + 监听onpopstate事件实现。

1.在路由中添加属性。(公众号首页面对应路由配置)

meta: {allowBack: false},

2.在beforeEach方法中添加如下代码(该代码段放在next()方法后面)

let allowBack = true
  if (to.meta.allowBack !== undefined) {
    allowBack = to.meta.allowBack
  }
  localStorage.setItem('allowBack', allowBack)
  // alert(11)
  if (!allowBack) {
    history.pushState(null, null, location.href)
  }

3.App.vue 中添加监听监听onpopstate事件,监听事件写在mounted的钩子函数中。

  mounted () {
    window.onpopstate = (e) => {
      let d = localStorage.getItem('allowBack')
      if (d === 'false') {
        if (e.target.location.hash === '#/list') { // 该路由为公众号首页配置的路由信息,如:/list
          const url = location.href.split('#')[0]
          if (url !== undefined) {
            wxCloseWechatWin()
          }
        } else {
          history.go(1)
        }
      }
    }
  }

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值