收藏
回答

onHide 无法触发页面跳转?

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 微信iOS客户端 7.0.5 2.8.0

开发环境,手机从"开发者工具"扫码预览

我有一个列表页,跳转到子页面,里边播放了我的内容,有音频的。

当小程序切换至后台时,如果用户在子页面播放内容,我需要跳转至列表页

(因为子页面里有音频,继续播放会干扰到用户)

(注: 子页面里边是用web-view播放内容,使用的是web-view内部的web audio api)

可是当我监听onHide时,发现不能及时跳转,总是当小程序下一次切换至前台时候,才触发了跳转动作。

以下三种跳转我均做过尝试

并且在页面的onHide,  app的onHide都做过监听尝试。



onHide: function(){
    wx.navigateTo({
      url: '/pages/index/index'

    })  
  }, 

onHide: function(){
    wx.redirectTo({
      url: '/pages/index/index'

    })  
  }, 

onHide: function(){
    wx.navigateBack({
      delta: 1
    })  
  }, 

最后一次编辑于  08-03  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 娇华
    娇华
    08-05

    你好,麻烦具体描述问题流程,提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    08-05
    赞同
    回复
  • 猪
    08-05

    我通过其他手段解决了,

    其实具体问题是这样的:

    在真机上,onHide发生页面跳转,没有马上跳转。而是等待我"下次将小程序切换到前台"才触发的跳转。

    而在开发工具上,跳转是即时触发的。

    所以这认为这应该不是bug, 而是涉及机制.

    我现在的做法是onHide,先将web-view里的内容刷新一遍(等同于重置url)。然后再跳转。

    这样避免了小程序切换到后台,继续播放音频的问题,然后下次再切换到前台,就触发了跳转了。

    08-05
    赞同
    回复