小程序左上角的返回按钮 怎么监听?
发布于 7 年前 作者 wlei 10580 次浏览 来自 官方Issues

需求监听该行为 返回到指定的页  或 调用事件

7 回复

系统的无法监听,建议自定义导航栏。

每一个小程序页面也可以使用 .json 文件来对本页面的窗口表现进行配置。页面中配置项在当前页面会覆盖 app.json 的 window 中相同的配置项。文件内容为一个 JSON 对象,有以下属性:

配置项

换种思路?既然是要监听返回键,系统没有提供实现,自己hack一下

  1. 返回的话,那么原页面是要走onUnload函数的,你可以在这个onUnload函数中,执行类似的处理

  2. 系统提供了getCurrentPages这个函数,根据page数量或者 pageId之类的东西,自己在返回页面onShow做下处理

用wx.navigateTo跳转到此页面时,此页面返回后,可利用此方法监听返回数据,不知你是不是想要这种效果

有2种方法

A:自定义 navigationBar (自己去实现)

B:使用wx.navigateTo的events,结合wx.onAppRoute 来实现,可以看 ==> 代码片段

不过感觉还是 自定义 navigationBar 比较好

系统的没办法监听

如果是微信的功能返回按钮是不行的,但你可以检测页面的退出和刷新。

你可以试试__window.onbeforeunload__,看能不能满足需求。

[window.onbeforeunload - Web API 接口参考 | MDN]

https://developer.mozilla.org/zh-CN/docs/Web/API/Window/onbeforeunload)

回到顶部