webapp监听手机物理返回键,返回上一页面或者关闭app

配置文件

1.项目下建文件夹commonFunction->physicBackListener.js

编辑代码

2.这个js文件内复制代码:

    var webview = plus.webview.currentWebview();
    plus.key.addEventListener('backbutton', function () {
        webview.canBack(function (e) {
            if(e.canBack){
                webview.back(-1);//返回上一页 
            }else{
                webview.close(); //关闭应用                
            }
        })
    });
})

全局引入

3.全局引入监听,main.js中:

import physicBackListener from '../commonFunction/physicBackListener'//物理返回键
Vue.prototype.physicBackListener=physicBackListener

如果打包后真机运行返回没有正常进行,或者逻辑有问题或者关闭后再返回还能打开是路由没配好

方法2:
第一步创建js文件夹子
在main里面引用

webapp监听手机物理返回键,返回上一页面或者关闭app

JS文本内容如下

//监听手机物理返回键的事件
document.addEventListener('plusready', function() {
    var first = null;
    plus.key.addEventListener('backbutton', function() {
        if(!first) {
            first = new Date().getTime(); //记录第一次按下回退键的时间
            var urls = location.hash.split('/')[1]
            //var Currenturls = location.hash.split('/')[0]
            
             if (urls=="NewD"||urls=="StartScan") {
               // alert(urls);
                //history.go(-1);
                plus.runtime.quit(); //那么就退出app
             }else{
                history.back(-1);
             }
            setTimeout(function() {
                //0.5s中后清除,因为1s的间隔相对于太长,这样连续按两次就退出去,效果不好
                first = null;
            }, 500);
        } else {
            if(new Date().getTime() - first < 500) {
                //如果两次按下的时间小于0.5s,同上
                plus.runtime.quit(); //那么就退出app
            }
        }
    });
})
上一篇:第四篇 -- 写一个导航页面


下一篇:maven相关