在浏览器上浏览vue项目时,后退按钮是可以正常返回上一页的,但是打包成app后,点击手机上的屋里返回按钮,就直接退出app回到桌面了, 以下是解决办法:
使用mui进行手机的物理键的监听
1、首先安装 vue-awesome-mui
cnpm install vue-awesome-mui
2、在main.js中注册并使用
import Mui from 'vue-awesome-mui';
Vue.use(Mui);
3、在index.html中写如下的js代码
<script type="text/javascript">
mui.init({
keyEventBind: {
backbutton: true, //关闭back按键监听
}
})
//首页返回键处理
// 处理逻辑: 1s内,连续两次按返回键,则退出应用;
var first = null;
mui.back = function(){
// 首次按键, 提示 再按一次退出应用
if(!first){
first = new Date().getTime();//记录第一次按下回退键的时间
var route_name = window.location.hash;
if(route_name.search('mine') != -1 || route_name.search('login') != -1){
mui.toast("再按一次退出应用");
setTimeout(function(){
//1s 后清除
first = null;
}, 500);
}else{
history.go(-1); // 回退到上一页
first = null;
};
}else{
if(new Date().getTime() - first < 500){
//如果两次按下的时间小于1s
plus.runtime.quit(); //那么就退出app
}
}
}
</script>
转载于:https://www.cnblogs.com/sllzhj/p/10785153.html
相对于转载的内容,我在js中添加了主菜单页,如果在主菜单页连续5s中点击,再退出app,其他页面则不受时间的影响,也不提示;