- 当前方法可以直接放在main.js文件中,本文代码中使用原生子窗体做拦截。
// #ifdef APP-PLUS //条件编译,在app-plus下编译 plus.key.addEventListener('backbutton', function () { var _bool = true; plus.nativeUI.toast = (function(str){//因为uniapp内部方法 在第一次监听手机左键的时候 会调起原生弹窗 第二次会在间隔时间短的时候 调起退出方法 //所以必须加quit方法,不然在第一次弹窗拦截之后,快速关闭窗口,重新点击退出,会直接退出弹窗. if(str == '再按一次退出应用'){ _bool = false; const subNVue = uni.getSubNVueById('_popup'); subNVue.show('zoom-out', 300); return true; } else{ uni.showToast({ title:'', icon:'none', }) } }); plus.runtime.quit = function(e){//获取退出 if(_bool){ const subNVue = uni.getSubNVueById('_popup'); subNVue.show('zoom-out', 300); } return _bool; } }, false); // #endif
uniapp监听手机左键退出弹框拦截最佳办法
最新推荐文章于 2024-04-28 01:25:06 发布