我试图使用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 回答
在我使用Phonegap实现这项工作的简短经验中,我必须在document.ready之前调用onDeviceReady(我知道这没有意义,但它在一个小项目中对我有用) .
此外,如果我基于页面为后退按钮分配不同的功能,我想先通过链接off() . on()重新绑定它们之前先清除它们,如下所示:
同样在localstorage的if语句中,应该是'或'而不是'和'?
要使后退按钮适用于您应用的每个页面,请将以下代码添加到每个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时,我已经使用过它了 .