首页 文章

android中的重写后退按钮仅适用于索引页面

提问于
浏览
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();

    }

}

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语句中,应该是'或'而不是'和'?

  • 0

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

    $(document).ready(function(){
    $(document).on(“deviceready”,PhoneGapReady);
    功能PhoneGapReady(e){
    document.addEventListener(“backbutton”,onBackKeyDown,false);
    }
    函数onBackKeyDown(){
    //你的后退代码
    }

    并添加

    <script> type =“text / javascript”charset =“utf-8”src =“cordova-2.0.0.js”</ script> 到每一页......当我使用cordova-2.0.0时,我已经使用过它了 .

相关问题