防止后退按钮退出cordova应用程序

3
我一直在处理一个问题,即在我的Cordova应用程序中,无论如何按下返回按钮都会退出应用程序。我尝试了网上提供的所有解决方案,但都没有成功。我尝试过的所有解决方案(以下是示例)都产生了相同的结果。
document.addEventListener("backbutton", onBackKeyDown, false);

function onBackKeyDown() {
    // Handle the back button
}

我的回调函数中的代码可以正常执行,但是在执行完毕后,应用程序就会退出。我可以通过在函数中包含一个ReferenceError来防止退出。

console.log(undefinedVar);

但这显然不是最佳实践。

我尝试过的其他解决方案包括从回调函数中使用 event.preventDefault() 和ionic的registerBackButtonAction函数。

如果您有任何建议,将不胜感激。


这段代码对我有效 - document.removeEventListener("backbutton", onBackButton, false);function onBackButton(e) { e.preventDefault(); navigator.notification.confirm("确定要退出吗?", onConfirm, "确认", "是的,不"); }function onConfirm(button) { if (button == 2) { return; } else { navigator.app.exitApp(); } } - Gandhi
你可以尝试我的代码,我已经尝试过并且它对我有效。它有助于防止返回到其他之前的页面...在Cordova和Phone Gap中禁用Android的后退按钮键...谢谢。 - Eshan Chattaraj
1个回答

0
enter code here 

<!DOCTYPE html>
<html>
  <head>
    <title>Stopping Back Button</title>
    <link rel="stylesheet" type="tex`enter code here`t/css" href="style.css">
    <script>
        function getTitle() {
            document.getElementById("ct").innerHTML = "DEMO: " + document.title;
        }
    </script>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">
    // Wait for device API libraries to load
    //
    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
        getTitle();
    }
    // device APIs are available
    //
    function onDeviceReady() {
        // Register the event listener
        document.addEventListener("backbutton", onBackKeyDown, false);
    }
    // Handle the back button
    //
    function onBackKeyDown() {
        alert('Back Button Disabled');
        console.log('Back Button Disabled');
    }
    </script>
  </head>
  <body onload="onLoad()">
  <ul id="nav">
        <li><a href="index.html">&larr; Back</a></li>
        <li><a href="#" id="ct" onclick="location.reload();"></a></li>
    </ul>
  </body>
</html>


你可以尝试这个,我已经试过了,对我有效。谢谢。 - Eshan Chattaraj

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接