1

フルスクリーン モードと機内モードを同時に使用する必要がある iPad Web アプリを開発中です。

キャッシュマニフェストを使用して必要なすべてのファイルを保存してきましたが、難しいのは、現在 URLie. file.html?account=234で情報を渡していることです。機内モードでこのようなファイルにリンクしようとすると、エラーが返されます。file.htmlキャッシュマニフェストにキャッシュされているにもかかわらず、iPad がドメインにアクセスできないこと。

iPad は、file.htmlfile.html?account=234が 2 つの完全に異なるファイル/URL であると認識しているように見えるため、それがキャッシュ マニフェストにないことを認識し、サーバーに接続しようとします。

このすべての背後にある考え方はindex.html、JSON ファイルからアカウントのリストを表示し、次に(プラグインでパラメーターを取得して) JSON ファイルからアカウント情報を作成するというものですfile.htmlaccountjQuery $.url().param()

これは、JSON ファイルをデータベースとして使用するローファイな方法のようなもので、機内モードでない限り、フルスクリーン モードで正常に動作します。このプロトタイプはインターネット接続なしで動作する必要があるため、これは問題です。

私のアプローチは完全に間違っているようですが、今は途方に暮れています。AJAX を使用して をロードし、同時に渡す方法はfile.htmlありindex.htmlますaccount=234か?

4

3 に答える 3

1

file.html?account=234とfile.htmlは2つの異なるURLです。パラメータとしてではなく、ハッシュ(#)にアカウント番号を追加できます。ただし、アカウント番号をCookieまたはlocalstorageに保存した方がよいと思います。

于 2011-09-15T15:42:23.553 に答える
0

わかりましたので、localStorage が完璧なソリューションであったことを報告させていただきます。キー/値を「アカウント」、「234」として保存しました。

于 2011-09-16T16:10:12.943 に答える
-1

Safariは、すべてのブラウザと同様に、クエリ文字列を使用してURLをキャッシュしません。このファクトは、クエリ文字列を追加してAJAX呼び出しを強制的に更新するために常に使用されます。

最も単純なレベルでは、代わりにURLのコンポーネント部分を使用するように切り替えてみてください-のように/account-234/

またはあなたが言ったように、あなたのアプローチは単に意味をなさないかもしれません。HTML5ローカルストレージの使用を検討しましたか?関連するすべての情報を、自分にとって意味のあるデータ構造にプルダウンして、オフラインで使用できるように保存できます。

于 2011-09-15T15:40:15.323 に答える