Javascript Phonegap-自动重定向到页面
我想用phonegap开发一个使用Web堆栈和软件包的移动应用程序。 My index.html页面将包含一个登录表单。我有一个js函数Javascript Phonegap-自动重定向到页面,javascript,jquery,cordova,mobile,phonegap,Javascript,Jquery,Cordova,Mobile,Phonegap,我想用phonegap开发一个使用Web堆栈和软件包的移动应用程序。 My index.html页面将包含一个登录表单。我有一个js函数checkLoggedIn(); 它通过查找localStorage变量来检查用户是否登录 Challenge:如果checkLoggedIn() 返回true;否则它不会重定向,只会停留在index.html上,这意味着checkLoggedIn()将在加载时在index.html上运行。 我不知道应该触发什么类型的事件,也不知道如何触发它来实现这一点。关于:
checkLoggedIn()
;
它通过查找localStorage变量来检查用户是否登录
Challenge:如果checkLoggedIn()
返回true
;否则它不会重定向,只会停留在index.html
上,这意味着checkLoggedIn()
将在加载时在index.html
上运行。我不知道应该触发什么类型的事件,也不知道如何触发它来实现这一点。关于:
if(checkLoggedIn()) window.location = "member.html";
这是我的自动登录功能的工作代码,希望这对android和ios都有效 下面是输入用户名和密码后登录按钮的代码
$('#login').click(function () {
var userName = $('#Username').val();
var password = $('#password').val();
if (userName == "" || password == "") {
window.plugins.toast.showLongBottom("Please enter a valid data");
return false;
}
var options = { dimBackground: true };
SpinnerPlugin.activityStart("Loading...", options);
$.ajax({
type: 'GET',
url: xxxxxx.xxxx.xxxxx,
data: "uid=" + userName + "&pwd=" + password + "",
success: function (resp) {
SpinnerPlugin.activityStop();
if (resp.status != 0) {
if (resp.RoleId == 1) {
mash.Session.getInstance().set({
userId: resp.sno,
userName: resp.Name,
});
var session = mash.Session.getInstance().get();
window.open('Add.html', '_self', 'location=no');
// Create session.
var today = new Date();
var expirationDate = new Date();
expirationDate.setTime(today.getTime() mash.Settings.sessionTimeoutInMSec);
}
else {
SpinnerPlugin.activityStop();
mash.Session.getInstance().set({
userId: resp.sno,
userName: resp.Name,
});
var session = mash.Session.getInstance().get();
var username = userName;
var password = password;
window.localStorage.setItem("uname", resp.Name);
window.localStorage.setItem("pass", password);
window.localStorage.setItem("sno", resp.sno);
window.localStorage.setItem("RoleId", resp.RoleId);
window.open('Main.html', '_self', 'location=no');
//window.plugins.toast.showLongBottom("Login Successfull");
// Create session.
var today = new Date();
var expirationDate = new Date();
expirationDate.setTime(today.getTime() + mash.Settings.sessionTimeoutInMSec);
}
}
else {
SpinnerPlugin.activityStop();
window.plugins.toast.showLongBottom("Please Enter valid Username and password");
SpinnerPlugin.activityStop();
}
},
error: function (e) {
SpinnerPlugin.activityStop();
window.plugins.toast.showLongBottom("Invalid Data");
SpinnerPlugin.activityStop();
}
});
});
之后,在index.html中使用onload处理程序fillpassword()来使用下面的函数
function fillpassword() {
if (window.localStorage.getItem("uname") != 0) {
mash.Session.getInstance().set({
userId: window.localStorage.getItem("sno"),
userName: window.localStorage.getItem("uname"),
});
if (window.localStorage.getItem("RoleId") != 1) {
document.getElementById('Username').value = window.localStorage.getItem("uname");
document.getElementById('password').value = window.localStorage.getItem("pass");
window.open('Main.html', '_self', 'location=no');
}
}
else {
//alert("Yes")
}
}
上面的代码可以工作,你需要维护一个会话,所以你需要一个自动登录功能,当用户关闭应用程序并再次打开它时,它必须重定向到内部页面,对吗?类似的东西。加载在哪里handler@bodesamfillpassword()是我的onload处理程序。当我关闭我的应用程序并重新打开时,它不会直接要求登录,我会重定向到另一个给定页面。如何让该功能在页面上自动运行load@bodesam首先,我在会话中保存用户名和密码值,然后保存到本地存储中。在下一步中,用户终止应用程序,然后再次打开应用程序,然后从本地存储中获取uname和密码值,并自动记录页面,我们将使用这就是我要寻找的。你确定这有效吗?