我有一个要求,只有在特定的页面上,我的意思是当用户在index.html中说出来,当他点击后退按钮时,我需要提示一个警告说你想退出应用程序。 如果他说'是'',请退出其他' no'。我可以通过覆盖后退按钮以及检查用户是否在index.html页面中来实现此目的,如下面的代码所示。
代码示例:
function onLoad() {
alert("OnLoad");
document.addEventListener("deviceready", onDeviceReay, false);
}
function onDeviceReay()
{
var x = document.URL;
alert(x);
if( x.indexOf('index') >= 0)
{
document.addEventListener('backbutton', function(e){
if (confirm("Press a button!"))
{
alert("You pressed OK!");
navigator.app.exitApp();
}
else
{
alert("You pressed Cancel!");
}
}, false);
}
}
但问题是当用户导航到其他页面然后当他点击后退按钮时,它不会导航回到上一页。有人可以在我出错的地方说清楚。谢谢。
答案 0 :(得分:1)
将以下内容放在需要触发后退按钮的html页面中:
document.addEventListener("backbutton", leavePage, false);
function onPageLeave(buttonIndex) {
if(buttonIndex==1){
window.history.back();
}
else{
}
}
function leavePage() {
navigator.notification.confirm(
'Would you like to leave ?', // message
onPageLeave, // callback to invoke with index of button pressed
'Leaving page request', // title
['Yes','No'] // buttonLabels
);
}
请注意,您需要通知插件。否则你可以用一个简单的警报替换()。