收藏
回答

app.onPageNotFound事件手机上不触发

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug onPageNotFound 客户端 Android 6.6.6 1300 2.0.0

我这边测试时发现app.js中的onPageNotFound事件在手机上没有触发,在工具有触发,但是在事件中执行wx.redirectTo没有反应,执行wx.switchTab可以跳转,会提示警告‘switchTab before pages are registered.’,而且跳转到首页并没有执行onload事件

onPageNotFound(res) {
      console.log(res)
      if (res.isEntryPage){
          wx.redirectTo({
              url: '/page/home/index/index',
          })
      }else{
          let pages = getCurrentPages();
          if (pages.length){
              wx.showModal({
                  content: '对不起,你访问的页面已消失',
                  cancelText:'返回',
                  confirmText:'去首页',
                  success(res){
                      if(res.confirm){
                          wx.switchTab({
                              url: '/page/home/index/index',
                          })
                      }else{
                          wx.navigateBack()
                      }
                  }
              })
          }
      }
  }

还有一个问题是onPageNotFound事件触发是页面跳转之后还是跳转之前,来判断提示取消之后是否执行wx.navigateBack

回答关注问题邀请回答
收藏

2 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    2018-04-23

    请提供一下完整复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-04-23
    有用
    回复
  • happi风
    happi风
    2018-09-28

    请问,你这个问题最后解决了吗?我也遇到了同样的问题。。。

    2018-09-28
    有用
    回复 2
    • 小半
      小半
      2018-09-28

      使用wx.reLaunch跳转

      2018-09-28
      回复
    • happi风
      happi风
      2018-11-12回复小半

      不是用什么跳转的问题,关键是只有用不存在页面的编译模式才会触发这个函数,普通编译模式找不到页面的时候直接报app.json文件未配置路径,不会触发这个函数

      2018-11-12
      回复
登录 后发表内容