打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决Hbuilder打包的app返回键直接退出

问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页。

处理子页面点击返回键直接退出,无法返回,代码如下:

//这个不是写在首页,写在子页面(子页面才能返回,写在首页点击返回就是退出)//不用引入mui.js,都是h5方法document.addEventListener('plusready', function() {    var webview = plus.webview.currentWebview();    plus.key.addEventListener('backbutton', function() {        webview.canBack(function(e) {            if(e.canBack) {                webview.back();            } else {                webview.close(); //hide,quit                //plus.runtime.quit();            }        })    });});

首页点击两次退出程序,代码如下:

//这个写在首页,判断连击两次退出。//需要引入mui.js版本,我当时测试的时候引入了,如果不想引入把带mui的都删了就可以(或者看下面那个)mui.plusReady(function() {                //首页返回键处理                //处理逻辑:1秒内,连续两次按返回键,则退出应用;                var first = null;                plus.key.addEventListener('backbutton', function() {                    //首次按键,提示‘再按一次退出应用’                    if (!first) {                        first = new Date().getTime();                        mui.toast('再按一次退出应用');                        setTimeout(function() {                            first = null;                        }, 1000);                    } else {                        if (new Date().getTime() - first < 1000) {                            plus.runtime.quit();                        }                    }                }, false);            });//不需要mui.js版本document.addEventListener('plusready', function(a) {            var first = null;            plus.key.addEventListener('backbutton', function() {                    //首次按键,提示‘再按一次退出应用’                    if (!first) {                        first = new Date().getTime();                        console.log('再按一次退出应用');//用自定义toast提示最好                        setTimeout(function() {                            first = null;                        }, 1000);                    } else {                        if (new Date().getTime() - first < 1000) {                            plus.runtime.quit();                        }                    }                }, false);        });

完整js代码:

//完整版就是,所有页面都引入这一段代码,而上面子页面和首页需要分别引入对应代码//需要mui.js版本<script>document.addEventListener('plusready', function() {        var webview = plus.webview.currentWebview();        plus.key.addEventListener('backbutton', function() {            webview.canBack(function(e) {                if(e.canBack) {                    webview.back();                             } else {                    //webview.close(); //hide,quit                    //plus.runtime.quit();                    mui.plusReady(function() {                        //首页返回键处理                        //处理逻辑:1秒内,连续两次按返回键,则退出应用;                        var first = null;                        plus.key.addEventListener('backbutton', function() {                            //首次按键,提示‘再按一次退出应用’                            if (!first) {                                first = new Date().getTime();                                mui.toast('再按一次退出应用');                                setTimeout(function() {                                    first = null;                                }, 1000);                            } else {                                if (new Date().getTime() - first < 1500) {                                    plus.runtime.quit();                                }                            }                        }, false);                    });                }            })        });    });//不需要mui.js版本document.addEventListener('plusready', function() {        var webview = plus.webview.currentWebview();        plus.key.addEventListener('backbutton', function() {            webview.canBack(function(e) {                if(e.canBack) {                    webview.back();                             } else {                    //webview.close(); //hide,quit                    //plus.runtime.quit();                    //首页返回键处理                    //处理逻辑:1秒内,连续两次按返回键,则退出应用;                    var first = null;                    plus.key.addEventListener('backbutton', function() {                        //首次按键,提示‘再按一次退出应用’                        if (!first) {                            first = new Date().getTime();                            console.log('再按一次退出应用');                            setTimeout(function() {                                first = null;                            }, 1000);                        } else {                            if (new Date().getTime() - first < 1500) {                                plus.runtime.quit();                            }                        }                    }, false);                }            })        });    });</script>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
mui.back() 返回上一页面刷新
JQM+Phonegap项目实战Demo1.0
mui消息框alert,confirm,prompt,toast
HBuilder mui页面间传值的几种方式[转]
前端的各种日期操作【值得收藏】
JS设置cookie,删除cookie
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服