新手直接写的一个页面然后打包uni-app,返现手机返回键直接退出应用
那是因为需要用web-view窗口打开网页才行,否则按手机返回键直接退出应用
系统功能不完善,在打开某个内核后,点击手机下面的返回键后,不能返回上一页,而是提示:“再按一次退出应用”。
web-view怎么写?👉uni-app怎么点链接跳转到另一页和web-view访问网页
更多教程
uniapp 解决使用web-view嵌套H5页面以后Home返回上一页返回失效的问题
本段代码放在套壳项目中。
<template>
<view>
<web-view :src="src"></web-view>
</view>
</template>
<script>
var wv; //计划创建的webview
export default {
data() {
return {
src: "",
canBack: false,
};
},
onBackPress() {
if (wv && this.canBack) {
wv.back();
return true;
}
return false;
},
onReady() {
// #ifdef APP-PLUS
var self = this;
var currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效,非v3编译模式使用this.$mp.page.$getAppWebview()
setTimeout(function () {
wv = currentWebview.children()[0];
wv.addEventListener(
"progressChanged",
function (e) {
wv.canBack(function (e) {
self.canBack = e.canBack;
});
},
false
);
}, 500); //如果是页面初始化调用时,需要延时一下
// #endif
},
};
</script>
教程二:uniapp运行app 页面嵌入h5,返回键失效
解决方案:在web-view页面加入代码
onReady() {
// #ifdef APP-PLUS
var currentWebview = this.$scope.$getAppWebview().children()[0];
currentWebview.addEventListener("loaded", function() {
undefined
currentWebview.evalJS(
"mui.init({keyEventBind: {backbutton: false }});"
);
});
// #endif
},