Cordova后退按钮不起作用

时间:2016-07-22 08:23:07

标签: javascript android html5 cordova

我遇到一个问题,即Back按钮上的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>

2 个答案:

答案 0 :(得分:0)

请在警告框中传递一些字符并返回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

希望这会对你有帮助!!!

答案 1 :(得分:0)

修复状态栏颜色(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>

感谢您的帮助。