vue-cli打包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>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM