Phonegap不显示警报

Joh*_*ohn 3 javascript iphone alert android cordova

为什么phonegap不显示警报通知?(在iPhone 5.1.1上运行,phonegap phonegap-2.1.0-0-g26d211b,山狮10.8.2,xcode 4.4.1)

<html>
<head>
<link rel="stylesheet" href="themes/css/apple.css" title="jQTouch">
<script src="src/lib/zepto.min.js" type="text/javascript" charset="utf-8"></script>
<script src="cordova-2.1.0.js" type="text/javascript" charset="utf-8"></script>
<script src="src/jqtouch.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    $(document).ready(function(){
     try
     {
        navigator.notification.alert('Hello', ok, 'Title', 'Button!');  
     }
     catch(e)
     {
        alert("doesn't support!!");
     }
    }
    function ok() {}
</script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)

Gaj*_*res 8

因为您在加载phonegap/cordova框架之前尝试显示警报.

$(document).ready(function(){在这里不会帮到你,你必须使用这个事件检查phonegap是否成功加载:

document.addEventListener("deviceReady", deviceReady, false);

function deviceReady() {
    // Now safe to use the PhoneGap API
}
Run Code Online (Sandbox Code Playgroud)

有关此活动的更多信息:http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

PhoneGap包含两个代码库:本机和JavaScript.在加载本机代码时,会显示自定义加载图像.但是,只有在DOM加载后才会加载JavaScript.这意味着您的Web应用程序可能会在加载之前调用PhoneGap JavaScript函数.