Phonegap jQuery:不能调用未定义的方法confirm

Phonegap jQuery: cannot call method confirm of undefined

本文关键字:方法 confirm 未定义 调用 jQuery 不能 Phonegap      更新时间:2023-09-26

我正在使用jQuery mobile创建一个简单的基于phonegap的应用程序。

这是我的HTML的标题

<script src="scripts/jquery-1.8.2.min.js"></script>
<script src="scripts/jquery.mobile-1.1.1.min.js"></script>
<script src="scripts/jquery.jsonp-2.4.0.min.js"></script>
<script type="text/javascript" charset="utf-8" src="scripts/cordova-2.2.0.js"></script>
<script src="scripts/my.js"></script>

在我所有的HTML代码之后,我添加了

<script>
$(document).ready(function() {
navigator.notification.confirm('Do you want to quit', 
        function(){
            if(button == "1"){
                 navigator.app.exitApp(); }
        }, 
        'QUIT TITLE', 
        'OK,Cancel'  
    );
</script>

我得到错误

12-27 21:28:17.998: D/CordovaLog(17212): Uncaught TypeError: Cannot调用未定义的方法confirm:D/CordovaLog(17212): file:///android_asset/www.app.html:第227行:未捕获的类型错误:不能调用未定义的方法'confirm'

正如你所看到的,我已经加载了所有必要的脚本,我在$(document).ready

中调用navigator.notification.confirm

不知道为什么我得到这个错误。请帮助。

首先,脚本标记内的代码没有正确关闭。

您正在尝试在Phonegap库成功加载之前使用它。$(document).ready(function() {不应该与jQuery mobile一起使用(您将在底部链接中找到更多相关信息),它也不会告诉您是否加载了phonegap库。

你的代码应该这样初始化:

document.addEventListener("deviceReady", deviceReady, false);
function deviceReady() {
    navigator.notification.confirm('Do you want to quit', 
        function(){
            if(button == "1"){
                navigator.app.exitApp(); 
            }
        }, 
        'QUIT TITLE', 
        'OK,Cancel'  
    );
}

您可以在这里找到更多信息:https://stackoverflow.com/a/14010308/1848600和http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html