我想使用Web堆栈和带有phonegap的包来开发移动应用程序。
我的index.html页面将包含一个登录表单。我有一个js函数ComboBox
;
检查用户是否通过查找localStorage变量登录。
挑战:如果checkLoggedIn()
,我希望index.html
自动重定向到member.html
返回checkLoggedIn()
;否则它将不会重定向,只停留在true
上,这意味着index.html
将在checkLoggedIn()
上运行。
我不知道要发射什么样的事件或者如何解雇它来实现这一目标。
答案 0 :(得分:1)
怎么样:
if(checkLoggedIn()) window.location = "member.html";
答案 1 :(得分:0)
这是我自动登录功能的工作代码,希望这适用于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 handler 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")
}
}
上面的代码可以正常工作,你需要维护一个会话