【问题标题】:Cordova backbutton not working科尔多瓦后退按钮不起作用
【发布时间】:2016-07-22 08:23:07
【问题描述】:

我有一个问题,即后退按钮上的 Cordova 事件尚未执行任何操作来执行警报 ("")。

有趣的是,代码看起来完全没问题,我什至没有忘记介绍cordova.js唯一我能想到的就是必须要洗一个插件,因为我没有任何建立.

我的代码如下所示:

<head>
    <meta charset="utf-8" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />
    <link rel="stylesheet" href="css/phonon.css" />
    <style>
        .uvitani {
            font-size: 250%;
            margin: 0;
            color: white;
            position: absolute;
            top: 40%;
            left: 50%;
            margin-right: -50%;
            transform: translate(-50%, -50%)
        }

        .tlacitko {
            margin: 0;
            color: #0084e7;
            background-color: white;
            position: absolute;
            bottom: 0;
            left: 50%;
            margin-right: -50%;
            transform: translate(-50%, -50%)
        }
    </style>
</head>
<script type="text/javascript" charset="utf-8">
    function barva() {
        alert(cordova.platformId);
        if (cordova.platformId == 'android') {
            StatusBar.backgroundColorByHexString("#0065b3");
        }
        document.addEventListener("backbutton", onBackKeyDown, false);

        function onBackKeyDown() {
            alert("Back");
        }
    }
</script>

<body style="background-color: #0084e7;" onload="barva();">
    <center>
        <p class="uvitani">Vítejte v aplikaci ISAS</p>
        <button class="btn tlacitko" onclick='document.location="styl.html";'>Pokračovat</button>
    </center>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script src="js/phonon-core.js"></script>
    <script src="js/components/forms.js"></script>
    <script src="js/components/preloaders.js"></script>
    <script src="js/components/dialogs.js"></script>
</body>

</html>

【问题讨论】:

  • 将错误添加到您的问题中
  • 请在警报中传递一些字符,例如 alert("back");
  • 请从函数中返回 false 并将您的返回事件函数写在外面
  • 请检查解决方案
  • 还是不行。

标签: javascript android html cordova


【解决方案1】:

请在alert框中传递一些字符并返回false,

      function barva() {
          alert(cordova.platformId);
          document.addEventListener("deviceready", onDeviceReady, false);
       }

      function onDeviceReady(){
        if (cordova.platformId == 'android') {
              StatusBar.backgroundColorByHexString("#0065b3");
           }
          document.addEventListener("backbutton", onBackKeyDown, false);
      }
      function onBackKeyDown(){
          alert('back');
          return false;
      }

如需更多帮助,请查看here

请检查您的插件,

您需要在项目中添加以下插件

   cordova plugin add org.apache.cordova.statusbar

希望对你有帮助!!!

【讨论】:

  • 请评论代码一段时间检查解决方案
【解决方案2】:

修复状态栏颜色(I/chromium(18807): [INFO:CONSOLE(37)] "Uncaught ReferenceError: StatusBar is not defined", source: file:///android_asset/www/login.html (37))就足够了,现在它可以工作了。

<script type="text/javascript" charset="utf-8">
    function barva() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }
    function onDeviceReady() {
        if (cordova.platformId == 'android') {
            StatusBar.backgroundColorByHexString("#0065b3");
        }
        document.addEventListener("backbutton", onBackKeyDown, false);
    }
    function onBackKeyDown() {
        alert("back");
        return false;
    }
</script>

感谢您的帮助。

【讨论】:

    猜你喜欢
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 2015-04-30
    • 2017-04-26
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多