0

PhoneGapアプリケーション(HTML5 + CSS3 + Javascript / JQuery Mobile)を開発しています。複数のページを持つ単一のHTMLファイルを使い始めました。ページ間の変更にページ遷移(スライド)を使用しています。

この問題は、単一のHTMLページを複数のHTMLファイル(ページごとに1つ)に分割すると発生します。ページを読み込めません。フレームワークに「エラー読み込みページ」が表示されます。

複数のhtmlファイルを使用する場合、JQueryMobileフレームワークはAJAXを使用してページコンテンツをロードすることを知っています。アプリをWebサーバー(IISなど)にデプロイすると、すべてうまくいきます。ただし、PhoneGapアプリが要求するようにローカルファイルで実行すると、フレームワークはAJAXリクエストを実行できず、その結果、ページを「ページの読み込みエラー」で読み込むことができません。

  • JQueryMobileを使用する必要があります
  • ユーザーエクスペリエンスを向上させるために、ページ遷移(スライド)を使用する必要があります
  • 一意の巨大なhtmlファイルを処理する必要がないように複数のHTMLファイルを使用したい
  • このアプリはPhoneGapアプリであり、ファイルシステムでローカルに実行する必要があるため、Webサーバーにはデプロイされません。
  • アプリをAndroidにデプロイし、AdobeBuildを使用してAPKインストールファイルを生成しています。

誰かアドバイスしてもらえますか?

ありがとう!

4

2 に答える 2

1

私は自分の問題を解決しました。

PhoneGapは、ファイルシステムから直接ページをロードし、AJAXリクエストを許可しないように動作すると考えていました。デスクトップでのテストでは、外部リンク「エラー読み込みページ」を読み込めません。ただし、デバイスでアプリを公開した後は、すべての外部リンクがそれに応じて動作します。何らかの方法で、PhoneGapインフラストラクチャはAJAXリクエストをローカルで処理できます。

したがって、デスクトップでテストするには、アプリをIISに配置するだけで、外部リンクが機能します。アプリがデバイスで公開されている場合、動作は同じになります。

于 2013-02-26T17:29:01.517 に答える
0

PhoneGapはWebサーバーを実行しません。すべてのファイルはfile://プロトコルを介してロードされます。したがって、すべてのリクエストはクロスオリジンと見なされます。

これを解決するには、すべてのホストへのリクエストを許可する必要があります。

<access uri="*" subdomains="true" />

http://docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.htmlを参照してください

于 2013-02-26T12:27:52.307 に答える