尝试使用Phonegap 2.3.0在Xcode 4.6中使用navigator.notification.alert()时,我遇到了一个奇怪的问题。
我有两个文件,index.html和other.html。单击index.html中的“测试警报”会按预期触发警报,但在解除警报然后导航到other.html后,单击“测试其他警报”不会触发警报。
但是,如果您在转移到other.html之前在index.html上单击“测试警报”两次或更多次,则警报将继续按预期运行。只有在触发警报ONCE并更改页面后,警报才会停止一起运行。
的index.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
function alertTest() {
navigator.notification.alert('Testing', null, 'Alert Test', 'OK');
}
</script>
</head>
<body>
<a href='other.html'>Move to other page</a>
<a href="#" onclick="alertTest(); return false;">Test the alert</a>
</body>
</html>
other.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
function alertTest() {
navigator.notification.alert('Testing', null, 'Alert Test', 'OK');
}
</script>
</head>
<body>
<a href="index.html">Go back</a>
<a href="#" onclick="alertTest(); return false;">Test the alert</a>
</body>
</html>
我完全不知道为什么会发生这种情况,因为在我的应用程序中,我需要能够在不同页面上按下按钮时触发警报,这在这个例子中似乎是一见不到。
非常感谢任何帮助或推动正确的方向!!
更新
这似乎只发生在iOS 6和6.1模拟器上。当警报没有弹出时,按主页键然后再次打开应用程序会立即显示丢失的警报。
此示例也具有相同的行为:http://docs.phonegap.com/en/2.3.0/cordova_notification_notification.md.html#Notification
任何人都可以确认这是否只是最新Xcode中的模拟器错误?
答案 0 :(得分:1)
此问题存在,因为Phonegap 2.2也看到: Notification in PhoneGap for iOS 在Phonegap 2.3上的WindowsMobile上也存在同样的问题。
我没有从2.1更新...似乎是它正常工作的最后一个版本。
不要忘记在上面添加document.addEventlistener("deviceready", onDeviceReady, true);
。
答案 1 :(得分:0)
更新到最新版本的phonegap(2.4.0)。似乎解决了这个问题。至少对我来说,现在一切正常。