小程序开放平台

文档中心
基础
canIUse
base64ToArrayBuffer
arrayBufferToBase64
系统
小程序
生命周期
应用级事件
onUnhandledRejection
onPageNotFound
onError
onAppShow
onAppHide
offUnhandledRejection
offPageNotFound
offError
offAppShow
offAppHide
更新
路由
跳转
转发
界面
网络
支付
数据缓存
媒体
位置
开放接口
设备
XHSML
性能
第三方平台
文件
数据分析
画布

xhs.onPageNotFound

开发
>
JS API
>
基础
>
小程序
>
应用级事件
>
onPageNotFound
>
更新时间:2025-04-10 15:30:17

以Promise风格调用: 不支持

监听小程序要打开的页面不存在事件。该事件与 App.onPageNotFound 的回调时机一致。

参数

function callback
小程序要打开的页面不存在事件的回调函数

参数

属性
类型
说明
pathstring不存在页面的路径 (代码包路径)
queryobject打开不存在页面的 query 参数
isEntryPageboolean是否本次启动的首个页面(例如从分享等入口进来,首个页面是开发者配置的分享页面)

注意

  • 开发者可以在回调中进行页面重定向,但必须在回调中同步处理,异步处理(例如 setTimeout 异步执行)无效。
  • 若开发者没有调用 xhs.onPageNotFound 绑定监听,也没有声明 App.onPageNotFound,当跳转页面不存在时,将推入小红书客户端原生的页面不存在提示页面。

实例代码

// 监听小程序要打开的页面不存在事件
xhs.onPageNotFound((res) => {
  console.log('页面不存在:', res);

  // 参数说明
  const { path, query, isEntryPage } = res;

  console.log('路径:', path);
  console.log('查询参数:', query);
  console.log('是否为首个页面:', isEntryPage);

  // 同步处理页面重定向
  if (isEntryPage) {
    // 如果是首个页面,重定向到首页
    xhs.redirectTo({
      url: '/pages/index/index'
    });
  } else {
    // 如果不是首个页面,重定向到错误提示页面
    xhs.redirectTo({
      url: '/pages/error/error'
    });
  }
});
该文档是否对您有帮助?