uni-app 嵌套h5 打包app物理返回键无法返回
时间: 2023-09-06 21:13:35 浏览: 182
问题描述:在uni-app中嵌套H5页面,打包成APP后,物理返回键无法返回上一页。
解决方法:
1. 禁用uni-app的默认返回逻辑
在App.vue中添加以下代码:
```
onBackPress: function (from) {
if (this.$children && this.$children.length > 0) {
let child = this.$children[0];
if (child.onBackPress) {
child.onBackPress(from);
return;
}
}
uni.navigateBack({
delta: 1
});
}
```
2. 在H5页面中监听浏览器的返回事件
在H5页面中添加以下代码:
```
window.addEventListener('popstate', function (e) {
// 在这里处理返回事件
// 例如返回上一页
history.go(-1);
}, false);
```
3. 在H5页面中修改浏览器的返回事件
如果第二步中的方法无法解决问题,可以尝试在H5页面中修改浏览器的返回事件,例如:
```
window.addEventListener('popstate', function (e) {
// 在这里处理返回事件
// 例如返回上一页
history.go(-1);
// 阻止浏览器默认的返回事件
e.preventDefault();
}, false);
```
注意:以上方法只适用于uni-app的H5页面嵌套场景,如果是单独的H5页面,无法使用第一步方法,需要在单独的H5页面中进行处理。
阅读全文