【问题标题】:Prevent back button from exiting cordova app防止后退按钮退出科尔多瓦应用程序
【发布时间】:2017-10-13 03:24:56
【问题描述】:

我一直在努力解决这个问题,在我的科尔多瓦应用程序中,无论如何,后退按钮都会退出应用程序。我已经尝试了我在网上遇到的所有解决方案,但都没有成功。

我尝试过的所有解决方案(下面的示例)都产生了相同的结果。

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, "Confirmation", "Yes,No"); } function onConfirm(button) { if (button == 2) { return; } 其他 { navigator.app.exitApp(); } }
  • 你可以试试我尝试过的代码,它对我有用..它有助于防止返回到其他前一页,...在 Cordova 的 Android 中禁用后退按钮键作为电话差距......谢谢

标签: javascript android cordova


【解决方案1】:
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>

【讨论】:

  • 你可以试试这个我试过的,它对我有用..谢谢
猜你喜欢
  • 2017-06-30
  • 2015-04-30
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-08
相关资源
最近更新 更多