1

每次用户按下后退按钮时,我都尝试使用 android 中的后退按钮转到主页,并且当用户未登录时,应用程序应该退出。我已经尝试过这种编码,但它只适用于索引页面和其他页面,后退按钮就像它已被禁用一样。我为此应用程序使用phonegap。

$(document).ready(function(){ document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
document.addEventListener("backbutton", onBackKeyDown, false);

}

}

我在 .js 文件中保留了以下功能。

function onBackKeyDown() {
    alert('Back Button!');
    if (window.localStorage.getItem("loggedInData") == "undefined"
            && window.localStorage.getItem("loggedInData") == "") {
        //location.href = 'main.html';
        alert('LoggedIn');

    } else {
        alert('not logged in');
        navigator.app.exitApp();

    }

}

4

2 回答 2

0

在我对 Phonegap 的简短经验中,我必须在 document.ready 之前调用 onDeviceReady(我知道这没有意义,但它在一个小项目上对我有用)。

此外,如果我根据页面为后退按钮分配不同的功能,我希望在每次重新绑定它们之前先清除它们,如下所示链接 off().on():

$(document).off("deviceready").on("deviceready", PhoneGapReady);
function PhoneGapReady(e) {
    $(document).off("backbutton").on("backbutton", backHandler);
}
function backHandler(e) {
    //back button pressed do something if you like
}

同样在localstorage的if语句中,应该是'or'而不是'and'吗?

于 2012-10-18T12:05:21.260 回答
0

要使后退按钮适用于应用程序的每个页面,请将以下代码添加到每个 html 页面。

 $(document).ready(function() {
 $(document).on("deviceready", PhoneGapReady);
 function PhoneGapReady(e) {
document.addEventListener("backbutton", onBackKeyDown, false);
    } 

}

function onBackKeyDown(){
//your codes for back button
}

并添加

<script>type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"</script>

到每一页......当我使用cordova-2.0.0时,我已经使用了它。

于 2012-10-19T09:58:42.393 回答