Cordova应用程序在Netbeans中引发异常

时间:2014-07-19 16:29:30

标签: jquery cordova netbeans

我正在写一个tic-tac-toe作为我的第一个使用netbeans的cordova应用程序。

我正在使用jQuery Mobile,而且我设计了粗略的用户界面。

以下是用户界面的来源:

<!--
                        Menu Page
-->
<div data-role = "page" data-theme="b" id="MenuPage">
    <div data-role = "header" data-theme="b">
        <h2 class = "Title">Tic-Tac-Toe</h2>
    </div>
    <div data-role = "main-page" data-theme="b">
        <div data-role="controlgroup" data-type="vertical">
            <a href="#BoardPage" data-role="button" data-theme="b">Single Player</a>
            <a href="#" data-role="button" data-theme="b">Multi Player</a>
            <a href="#" data-role="button" data-theme="b">Leader Board</a>
            <a href="#" data-role="button" data-theme="b">About</a>
            <a href="#" data-role="button" data-theme="b" id="btnExit">Exit</a>
        </div>
    </div>
</div>


<!--
                        Board Page
-->
<div data-role="page" data-theme="b" id="BoardPage">
    <div data-role="main-page" data-theme="b" id = "tabHolder">
        <div data-role="content">
            <center>
                <div class="ui-grid-b" style="position: absolute; top: 38%; width:100%; margin-left:-1em">
                    <div class="ui-block-b">
                        <a data-role="button" id="b1"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b2"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b3"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b4"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b5"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b6"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b7"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b8"></a>
                    </div>
                    <div class="ui-block-b">
                        <a data-role="button" id="b9"></a>
                    </div>
                </div>
            </center>
        </div>
    </div>
</div> 

我在那里有一个退出按钮,我想点击该按钮退出应用程序。

我的代码:

<script>
    $(document).on('pageinit', '#MenuPage', function(events){
        $(document).on('click', '#btnExit', function(event){
            navigator.app.exitApp();
        });
    });
</script>

作为回应,我在netbeans中得到以下异常:

Uncaught TypeError: Cannot call method 'exitApp' of undefined

我已经尝试使用谷歌搜索,但似乎没有任何工作。

寻求帮助。

2 个答案:

答案 0 :(得分:1)

您是否在移动设备上看到应用后立即点击退出按钮? 在调用 exitApp 方法之前,您需要等待 deviceReady 事件发生 您可以做的是在触发设备就绪事件后显示菜单。 e.g

<style>
   #MenuPage {
    visibility:hidden;
   }
<style>
<script>
document.addEventListener("deviceready",displayMenu,false);
function displayMenu () {
  alert("Displaying Menu...");
  document.getElementById("MenuPage").style.visibility="visible";
}
</script>

答案 1 :(得分:1)

在脚本

之前添加此内容
<script type="text/javascript" src="cordova.js"></script>

如果仍然失败,请尝试此

navigator.device.exitApp();