my.onpagenotfound(function listener)
主体: 企业支付宝小程序 、 个人支付宝小程序
相关文档: app.onpagenotfound 、 路由 api
监听小程序要打开的页面不存在事件。
该事件与 app.onpagenotfound 的回调时机一致,仅响应小程序冷启动或热启动时的页面找不到事件,不支持处理 路由 api 的失败场景。
如果即没有使用 my.onpagenotfound 注册监听,也没有声明 app.onpagenotfound,则当跳转页面不存在时,将显示支付宝原生的 页面不存在 提示页面。
function listener
小程序要打开的页面不存在事件的监听函数
参数
object res
查看示例
属性 | 类型 | 描述 |
---|---|---|
path | string | 不存在页面的路径 (代码包路径) |
query | object | 打开不存在页面的 query 参数 |
isentrypage | boolean | 是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面) |
my.onpagenotfound(function listener)
//app.js
const handlepagenotfound = (res) => {
my.redirectto({
url: 'pages/...'
}); // 如果是 tabbar 页面,请使用 my.switchtab
};
my.onpagenotfound(handlepagenotfound)
app({
onlaunch() {
}
})
-
tip开发者可以在回调中进行页面重定向,但必须在回调中同步处理,异步处理(例如 settimeout 异步执行)无效。
-
tip回调中重定向的页面必须是已经加载好资源的页面,如果是未加载的分包页面和插件页面,运行时会报错,无法完成重定向。
-
tip如果回调中又重定向到另一个不存在的页面,将推入支付宝原生的 页面不存在 提示页面,并且不再第二次回调。