詳細な調査の後、私はこの問題を解決することができました (少なくとも部分的に -- 一部のイベントは発生し、一部のイベントは発生しません)。私の場合、欠落している.js
(PhoneGap ソース)ファイルの問題でした。
成功の鍵は次のとおりでした。
実際に PhoneGap / Cordova JSファイルをアプリ コンテンツに配置し、ソース ファイルで正しく参照(有効なパスとファイル名) を設定します。
これを書いている時点で、ソースファイルは正しいバージョン(2.0.0) になっています。
最初は、ソース ファイルを削除するように指示されている PhoneGap Build ユーザーにとって特に混乱を招く可能性があります。ソース ファイル ( <script type="text/javascript" src="cordova.js"></script>
) 内の参照はそのままにしておく必要がありますが、参照しているファイルは終了しないでください。PhoneGap Build は、コンパイル/ビルド プロセス中にこのファイルを (適切なバージョンで) 挿入します。
これは PhoneGap では問題ありませんが、 Ripple では完全に間違っています。Ripple を完全に機能させ、(少なくとも確実に) イベントを発生させたい場合は、そのファイルをそのままにしておく必要があります。これは PhoneGap にまったく干渉しないことがわかりました。アプリは、そのファイルが配置されているかどうかに関係なく、問題なくビルドされます。
2番目も重要です。Ripple の現在のバージョンはPhoneGap API 2.0.0に基づいて構築されていることがわかりました。これは、現在利用可能なPhoneGap API 3.0.0に対して非常に古いものです。したがって、Ripple をほぼ問題なく動作させるには、[PhoneGap リポジトリ ( http://phonegap.com/install/ ) をブラウズし、 2012 年 7 月 20 日にリリースされたPhoneGap 2.0.0のソースを取得し、そこからファイルを抽出する必要があります。次に、それを webapp のソース フォルダーに配置し、正しい参照を追加して、Ripple を試します。cordova.js
少なくともいくつかのイベント ( など) が発生するはずですが、deviceready
まだ失敗する可能性があります。
また、イベント ハンドラーを含むすべてをイベントリスナー コードで定義する必要があることdeviceready
に注意してください。そうしないと、すべてが失敗します。
関連する可能性のある Ripple の JIRA の問題:
ところで: ブラウザのコンソールを開いて手動でイベントを発生させると、Ripple によってコンソールに書き込まれた適切な通知が表示されます。つまり、Rippleは、エミュレートされた Web アプリケーションでも を起動すると考えますが、実際には起動しません。