麦克雷
麦克雷
  • 发布:2020-12-30 14:15
  • 更新:2022-12-30 10:30
  • 阅读:1300

Webview历史记录返回

分类:uni-app

开发中遇到可能打开一个webview内会进行多次页面跳转的问题
1.监听onBackPress事件
onBackPress(e) {
if (e.from === 'navigateBack') {
return;
}
this.checkcanBack();
return true;
},
2.同步等待判断此处是否webview可返回,如果没有历史记录,关闭当前页面
async checkcanBack() {
let ret = await this.canBack();
if (ret) {
//wv为创建的webview对象,全局变量保存
wv.back();
} else {
uni.navigateBack()
}
},
canBack() {
return new Promise((resolve, reject) => {
//wv为创建的webview对象,全局变量保存
wv.canBack(function(e) {
if (e.canBack) {
resolve(true); //后退到上次加载的页面
} else {
resolve(false);
}
});
});
},

0 关注 分享

要回复文章请先登录注册

9***@qq.com

9***@qq.com

有个问题 网页 的每次跳转 就算是replace 都会加入webvie 的栈中这时候就需要返回好几次
2022-12-30 10:30