IPhone4(iOS4)、iPad1(iOS3.3)およびデスクトップでサイトをデバッグしようとしています。
私の問題は、iPhoneのキャッシュをまったくクリアできないことです。
デバッグしているjsファイルにアラート/コンソールを追加すると、iPadとデスクトップに表示されますが、iPhoneはキャッシュからリロードし続けます。
settings>safari>delete browser history, cache, cookies
でキャッシュをクリアし、Safariですべてのブックマークを削除してサーバー上のファイルを削除すると、iPadとデスクトップが壊れます(ファイルがありません)が、iPhoneは何も起こらなかったかのようにページをロードします。
これが適切な質問場所かどうかはわかりませんが、他の誰かが同様の経験と回避策のアイデアを持っている可能性がありますか?
ありがとう!
[〜#〜]編集[〜#〜]:
これをもう少し遊んだ。アイコンからアプリケーションを開始すると、キャッシュがクリアされたように見えます。 Mobile Safariでページを開いた場合にのみ、キャッシュから間違ったファイルが使用されます。ポインタはまだ大歓迎です!
[〜#〜]編集[〜#〜]:
私はこれについて報奨金を始めています。私はサイトでRequireJSとJqueryMobileを使用しているので、これらもキャッシュがクリアされない理由である可能性があります。それでも、アプリモードでクリアされる理由とMobileSafariでクリアされない理由がわかりません。
私は以下を試しました:
1。 URLバーのreload page
をクリックしても、キャッシュはクリアされません。リンクをクリックしてからgo
を介してページをロードすると、キャッシュがクリアされることがあります。
これは少しハッキーですが、おそらくこの回避策を試してみてください(これは開発用だと思います)
ここでajaxキャッシュを無効にする際の注意事項に従って SafariブラウザでAjaxキャッシュを無効にする方法は? 開発中またはこのようなプレーンHTMLでキャッシュなしヘッダーを設定できます
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
明らかに、スタックするという最初の問題は修正されません。ただし、任意のクエリパラメータ?something = 3164を追加することでサイクルを中断できるため、URLは事実上一意になります。次にロードするときに、キャッシュなしのパラメータを保持することを願っています。
それでもうまくいかない場合は、ブックマークを設定して、毎回異なるランダム= 14361番号にリダイレクトすることができます。これらはすべて事実上一意の呼び出しですが、それでは愚かな領域に入ります。
適切な解決策が欲しいのですが、JS Webアプリを開発しているときに、しばらくの間すべてが適切に更新される場合と、更新されない場合があります...実際のパターンはわかりません-私が思う事実は別としてデバッガーが有効になっていると、それはあまり行われないようです(しかし、それはまったく根拠がありません;-)
IOSモバイル向けに開発する場合、USB経由で電話をコンピューターに接続し、開発ツールを使用することで、キャッシュを簡単にクリアできます。
サファリを停止して再起動し、サファリにあるすべてのページを削除してみてください...ページを閉じる方法の画像を参照してください
HTML5「オフライン」アプリケーション を扱っていますか?オフラインアプリでのマニフェストファイルの使用はまったく新しいものであり、ブラウザーごとに奇妙な癖があります。サーバー上のマニフェストファイルを変更すると、iPhoneはページを再度フェッチする必要があります。
[〜#〜] edit [〜#〜]:マニフェストファイル(およびそれを指すHTML属性)があった場合、削除した場合マニフェストの順序が間違っていると、キャッシュが絡まる可能性があります。
正しくマニフェストを解除するには、次のことを試してください。
サファリのためにデバイスを再起動せずに別の解決策があります、
Settings
に移動しますSafari
に移動します次に、下に移動してオプションを確認しますClear Cookie and Data
下の画像のように
これでサファリに戻り、完了です。
以下に質問コメントがある場合。