Html5plus+vue 按返回键会退出应用程序的处理

1,329 阅读1分钟

本文中使用的 this.$plusReady 函数即为封装好的html5plus的plusReady事件。封装的方式后面博客将进行介绍

解决方案

this.$plusReady(()=>{
      var first = null
	  var webview = plus.webview.currentWebview(); //获取当前页面的webview对象
	  plus.key.addEventListener('backbutton', function() {
	  webview.canBack(e=>{ // canBack函数用于查询Webview窗口是否可后退
	  	if(e.canBack){ //判断是否可以后退
	  		webview.back()// 调用当前webview的后退
	  	}
	  	else{// else代码块表示不能后退,也就意味着回退到首页了
	  		if (!first) { //连按两次退出程序的功能实现
	  		    first = new Date().getTime()
	  		    plus.nativeUI.toast('再按一次退出应用');
	  		    setTimeout(function() {
	  		        first = null
	  		    }, 1000)
	  		} else {
	  		    if (new Date().getTime() - first < 1000) { //这里的1000是指两次按键的时间间隔在1秒内就退出应用
	  		        plus.runtime.quit() //退出应用
	  		    }
	  		}
	  	}
	  })
      }, false);
    });