1

jQueryと$.get()関数を利用するPhonegapアプリで使用しようとしていたテンプレートシステムがあります。

$.get('templates/' + name + '.html', someFunctionHere(){});

ローカルホストでサーバーとしてアプリを実行し、ChromeまたはSafariで表示すると、テンプレートシステムは完全に機能します。
iOSシミュレーターのPhonegapを介してアプリを実行すると、機能しません。ファイルは返されず、「someFunctionHere()」は実行されません。
重要な注意:iOSシミュレーターでMobile Safariを使用してローカルホストが提供するページを表示すると、それも機能しません。

私には、これはMobile SafariとPhonegapが使用するWebKitブラウザーがローカルファイルへのアクセスを許可しないように聞こえますか?これは完全に間違っているように感じますが、それはそれがどのように見えるかです。

誰かが以前にこの問題に遭遇したことがありますか、またはそれを回避する方法を知っていますか?

4

3 に答える 3

2

サファリはデフォルトでオンになっている非同期呼び出しをサポートしていないと思います。サファリで機能させるには、非同期モードをオフにする必要があります。

于 2012-06-05T13:27:05.477 に答える
0

$ .getのtypeパラメーターを「text」に設定しようとしましたか?それは私のために働いた。$ .getを使用しないと、推測しようとしますが、私の場合は間違って推測しました。

于 2012-06-26T11:08:57.123 に答える
0

関連する可能性があります:http://developer.mozilla.org/en/http_access_control

localhostを使用してfile://プロトコルからファイルにアクセスする代わりに、それが機能するはずです。これは、Safari /MobileSafariのクロスドメイン制限です。

于 2012-06-05T13:28:58.193 に答える