2

iPhonePhoneGapアプリケーションを持っています。リモートサーバーにHTMLファイルがあり、プロジェクトバンドル(ローカル)に別のHTMLファイルがあります。

PhoneGap 2.1にアップグレードした後、サーバー側でonDeviceReady()(「deviceready」をリッスンしている)メソッドが呼び出されなくなりました。ローカルにHTMLファイルがあり、ローカルでonDeviceReadyメソッドが問題なく呼び出されています。しかし、Webページアプリケーションにリダイレクトされた後、onDeviceReady()メソッドはもう呼び出されていません。PhoneGap2.0を使用してこの種の問題は発生しませんでした。誰かがなぜそうなるのか考えていますか?

コンソールを使用して、まったく新しい(テンプレート)PGプロジェクトを作成し、サーバーにwwwフォルダーを追加しました。テンプレートプロジェクトでは、テンプレートphonegapプロジェクトのwwwリモートフォルダーにあるindex.htmlにリダイレクトします。私は、同じ問題が常に発生することに気づきました。onDeviceLoadメソッドが呼び出されていないということです。これがphonegapのテンプレートプロジェクトです。ローカルでは問題なく動作しますが、サーバー上では動作しません。許可されたExternalHostsは「*」に設定されています(すべてのホストが許可されています)。

他の開発者にも同じ問題があることがわかりました:https ://issues.apache.org/jira/browse/CB-1529

誰かがこの問題を解決する方法を知っていますか?前もって感謝します。

4

1 に答える 1

7

PhoneGap開発者チームが私のJiraチケットに回答し、彼らの解決策が私の問題を解決しました。彼らが書いたものは次のとおりです(https://issues.apache.org/jira/browse/CB-1525):

これをローカルで解決するには、cordova.jsファイルの次の行を変更します。execXhr.open('HEAD'、 "file:///!gap_exec"、true);

宛先:execXhr.open('HEAD'、 "/!gap_exec"、true);

于 2012-09-25T19:24:40.410 に答える