• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 交互反馈
  • tt.enableAlertBeforeUnload
  • tt.showToast
  • tt.hideToast
  • tt.showLoading
  • tt.hideLoading
  • tt.showModal
  • tt.showActionSheet
  • tt.showFavoriteGuide
  • tt.showInteractionBar
  • tt.hideInteractionBar
  • tt.disableAlertBeforeUnload
  • 导航栏
  • 菜单
  • 动画
  • 页面位置
  • 滑动返回
  • 下拉刷新
  • 键盘
  • TabBar
  • 页面导航
  • 开放接口
  • 行业开放
  • 第三方平台
  • 其它
  • tt.disableAlertBeforeUnload

    收藏
    我的收藏

    基础库 2.63.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。

    关闭小程序页面返回询问对话框。

    前提条件
    业务背景
    使用限制
    注意事项
    支持沙盒
    相关教程

    语法

    tt.disableAlertBeforeUnload(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    successfunction
    接口调用成功的回调函数
    2.63.0
    failfunction
    接口调用失败的回调函数
    2.63.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    2.63.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "disableAlertBeforeUnload:ok"
    2.63.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring
    "disableAlertBeforeUnload:fail" + 详细错误信息
    2.63.0

    扫码体验

    请使用字节宿主APP扫码

    代码示例

    开发者工具中预览

    <view class="container"> <view class="title">当前页面的路由层级:{{length}}</view> <view class="title" tt:if="{{enable}}">已开启返回询问对话框,点击左上角返回按钮,弹框确认返回。</view> <view class="title" tt:else>已关闭返回询问对话框,返回时不会弹窗确认</view> <view class="btn-area"> <button disabled="{{enable}}" type="primary" bindtap="enableAlert">开启返回询问对话框</button> <button disabled="{{!enable}}" type="primary" bindtap="disableAlert">关闭返回询问对话框</button> </view> <text> Tip:返回询问对话框只会对调用的当前页面生效; Tip:通过手势滑动返回时不会弹起询问对话框。 </text> </view>
    Page({ data: { length: 0, enable: false, }, async onLoad(options) { this.enableAlert(); const pages = await this.getPages(); this.setData({ length: pages.length }) }, getPages() { return new Promise((resolve, reject) => { resolve(getCurrentPages()); }) }, enableAlert() { if (tt.canIUse("enableAlertBeforeUnload")) { tt.enableAlertBeforeUnload({ message: "是否确认返回", success: (res) => { console.log("开启页面返回询问对话框成功", res); this.setData({ enable: true, }); }, fail: (err) => { tt.showToast({ title: "开启返回询问对话框失败" }); console.log("开启页面返回询问对话框失败", err); }, complete(res) { console.log("开启页面返回询问对话框结束", res); } }); } else { tt.showModal({ title: "提示", content: "当前客户端版本过低,无法使用该功能,请升级客户端或关闭后重启更新。", }); } }, disableAlert() { if (tt.canIUse("disableAlertBeforeUnload")) { tt.disableAlertBeforeUnload({ success: (res) => { console.log("关闭页面返回询问对话框成功", res); this.setData({ enable: false, }); }, fail: (err) => { console.log("关闭页面返回询问对话框失败", err); }, complete(res) { console.log("关闭页面返回询问对话框结束", res); } }); } else { tt.showModal({ title: "提示", content: "当前客户端版本过低,无法使用该功能,请升级客户端或关闭后重启更新。", }); } }, })