vue打包成app后,点击手机上的物理返回按钮后直接退出app

在浏览器上浏览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,其他页面则不受时间的影响,也不提示;

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Vue Router 和 Vue 的过渡效果来实现侧滑返回上一页的功能。下面是一个简单的示例代码: 首先,确保你已经安装了 Vue Router 和 Vue: ``` npm install vue-router ``` 然后,创建一个 Vue Router 实例,并配置路由: ```javascript import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const router = new VueRouter({ routes: [ { path: '/', component: Home }, { path: '/page1', component: Page1 }, { path: '/page2', component: Page2 } ] }) ``` 在你的页面组件中,使用 Vue 的过渡效果来实现侧滑效果。你可以使用 `<transition>` 组件包裹页面内容,并使用 CSS 过渡效果来实现侧滑动画。例如: ```vue <template> <div> <transition name="slide"> <router-view></router-view> </transition> </div> </template> <style> .slide-enter-active, .slide-leave-active { transition: transform 0.3s; } .slide-enter, .slide-leave-to { transform: translateX(100%); } </style> ``` 在上面的示例中,页面组件会通过 `<router-view>` 渲染,而在切换页面时会触发过渡效果。通过设置不同的 CSS 类名,你可以定义进入和离开时的动画效果。 最后,在你的模板中,使用 `<router-link>` 组件来导航到其他页面。例如: ```vue <template> <div> <router-link to="/page1">Page 1</router-link> <router-link to="/page2">Page 2</router-link> </div> </template> ``` 这样,当用户点击链接时,页面会进行侧滑切换,并具有返回上一页的效果。 希望这个示例能帮助到你!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值