Phonegap2.3.0を使用してXcode4.6でnavigator.notification.alert()を使用しようとすると、奇妙な問題が発生します。
index.htmlとother.htmlの2つのファイルがあります。index.htmlから[アラートのテスト]をクリックすると、期待どおりにアラートがトリガーされますが、アラートを閉じてother.htmlに移動した後、[他のアラートのテスト]をクリックしてもアラートはトリガーされません。
ただし、other.htmlに移動する前にindex.htmlで[アラートのテスト]を2回以上クリックすると、アラートは引き続き期待どおりに機能します。アラートを一度トリガーしてページを変更した後でのみ、アラートがすべて一緒に機能しなくなります。
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>
私のアプリでは、さまざまなページでボタンを押すとアラートをトリガーできる必要があるため、これが発生する理由については完全に途方に暮れています。これは、この例ではヒットアンドミスのようです。
どんな助けや正しい方向への微調整も大歓迎です!!
アップデート:
これは、iOS6および6.1シミュレーターでのみ発生するようです。アラートがポップアップしない場合は、ホームキーを押してからアプリをもう一度開くと、不足しているアラートが一度に表示されます。
この例にも同じ動作があります:http://docs.phonegap.com/en/2.3.0/cordova_notification_notification.md.html#Notification
これが最新のXcodeの単なるシミュレーターのバグであるかどうかを誰かが確認できますか?