Javascript 如何替换Cordova中的主页?
我做了登录功能,所以当用户登录时,它将导航到其他页面,但问题是登录成功后,用户只需按物理返回按钮即可再次返回登录页面。现在我想要的是,在登录后,用户不能再次返回登录页面,因此当按下物理后退按钮时,它将关闭应用程序。这是我的onloginsucces方法Javascript 如何替换Cordova中的主页?,javascript,html,cordova,phonegap-plugins,Javascript,Html,Cordova,Phonegap Plugins,我做了登录功能,所以当用户登录时,它将导航到其他页面,但问题是登录成功后,用户只需按物理返回按钮即可再次返回登录页面。现在我想要的是,在登录后,用户不能再次返回登录页面,因此当按下物理后退按钮时,它将关闭应用程序。这是我的onloginsucces方法 document.getElementById('auth').onclick = function () { $fh.auth({ "policyId": "policyid", "clientToken": "appid", //
document.getElementById('auth').onclick = function () {
$fh.auth({
"policyId": "policyid",
"clientToken": "appid",
// Your App GUID
"endRedirectUrl": window.location.href,
"params": {
"userId": document.getElementById('username').value,
"password": document.getElementById('password').value
}
}, function(res) {
// Authentication successful - store sessionToken in variable
var sessionToken = res.sessionToken;
alert("Login Succes");
window.location = './menu.html';
}, function(msg, err) {
var errorMsg = err.message;
if (errorMsg === "user_purge_data" || errorMsg === "device_purge_data") {
// User or device has been black listed from administration console and all local data should be wiped
} else {
alert("Authentication failed - " + errorMsg);
}
})
};
除了使用window.location进行导航外,还有其他方法吗?比如窗户。也许换一个吧,谢谢
更新
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>Hello World</title>
<link rel="stylesheet" href="css/app.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="cordova-2.7.0.js"></script>
<script type="text/javascript" src="js/jquery.min.1.9.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
}
// Handle the back button
//
function onBackKeyDown() {
e.preventDefault();
}
</script>
</head>
你好,世界
函数onLoad(){
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
}
//设备API可用
//
函数ondevicerady(){
//注册事件侦听器
document.addEventListener(“backbutton”,onBackKeyDown,false);
}
//按后退按钮
//
函数onBackKeyDown(){
e、 预防默认值();
}
尝试以下操作:
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown(e) {
#or return False
e.preventDefault();
}
该功能禁用按钮功能。我从不久前找到的一个页面中找到了这个。我认为returnfalse可以正常工作,但可能不是正确的用法
编辑感谢评论者:请注意,这需要在Cordovas on device ready listener中才能工作。请尝试以下操作:
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown(e) {
#or return False
e.preventDefault();
}
该功能禁用按钮功能。我从不久前找到的一个页面中找到了这个。我认为returnfalse可以正常工作,但可能不是正确的用法
编辑感谢评论:请注意,这需要在Cordovas on device ready listener中才能工作。请注意,这需要在Cordovas on device ready listener中才能工作。非常感谢您的回答,但实际上这不是我要找的答案,我不希望我的用户不能按后退按钮这对用户体验不利,我想要的是当用户登录时,主页更改为menu.html,这样用户就不能返回login.html。@TheodorusAgumGumilang您可以让“上一步”按钮做任何您想做的事情。@TheodorusAgumGumilang您在设备侦听器中放置此项仅取决于您所在的页面。sudo代码基本上是“if page.to_be_rendered==login then return nothing”,而不是back。您可以让它关闭应用程序或最小化。返回语句由您100%决定,嗯,也许这是个好主意,所以我需要在每个页面中添加事件侦听器,对吗?在menu.html中,当按下后退按钮时,我会使其关闭应用程序注意,这需要在Cordovas on device ready listener中才能工作。很好,谢谢你的回答,但实际上这不是我要找的ASN,我不希望我的用户不能按下后退按钮,这对用户体验不好,我想要的是用户登录时,主页更改为menu.html,因此用户无法返回login.html。@TheodorusAgumGumilang您可以让“上一步”按钮做任何您想做的事情。@TheodorusAgumGumilang您可以将其放入设备侦听器中,这取决于您所处的页面。sudo代码基本上是“if page.to_be_rendered==login then return nothing”,而不是back。您可以让它关闭应用程序或最小化。返回语句由您100%决定,嗯,也许这是个好主意,所以我需要在每个页面中添加事件侦听器,对吗?在menu.html中,当按下后退按钮时,它将关闭应用程序,而不是导航。了解如何通过动态加载和卸载元素来创建正确的应用程序。cordova.js是它的拼写方式。文件名中没有版本。已修复,实际上我只需要在我的脚本中添加字符集就可以了。很好,它可以工作了吗?@Darkrum yea现在可以工作了,谢谢:)与其导航,不如学习如何通过动态加载和卸载元素来制作一个合适的应用程序。cordova.js是它的拼写方式。文件名中没有版本。已修复,实际上我只需要在脚本中添加字符集就可以了。太好了,它可以工作了吗?@Darkrum是的,现在可以工作了,谢谢:)