2012-03-29 18 views
0

私はAndroidのキャッシングに気づいた& Appleデバイスは非常に集中的かもしれません。私たちは来週、jquerymobileのウェブサイトをプロダクションに立ち上げており、キャッシュをクリアする必要があります。モバイルデバイスにキャッシュを強制的に更新する

私は、JS、CSSリソースのクエリ文字列に?v = 2などのようにインクリメンタルな数字を追加しようとしましたが、うまくいくように見えますが、ときどき動作しないこともあります。 。

誰にでもアイデアはありますか?マニフェスト?

+0

バージョンキャッシュバスターパラメータがどのブラウザで失敗しましたか? –

答えて

0

私は常に、サーバーから新しいコピーをロードするためにキャッシュ無効化クエリ文字列を使用しました。

また、<HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">を使用することもできますが、理論上は、更新が発生したときだけでなく、ページ上のすべてのキャッシュを削除します。

0

アセットのソースにGET変数を追加すると個々のアセットで機能しますが、ページ全体がキャッシュされると、新しい変数値が見つからず、キャッシュされたすべてのアセットがロードされます。

インデックスページのキャッシュを無効にすることができます。アセットのソースを変更すると、ユーザーがインデックスページを表示するたびに反映されます。

私はあなたにも一定の資産をキャッシュしないように、ブラウザを伝えるためにマニフェストキャッシュを使用することができると信じて:?http://www.html5rocks.com/en/tutorials/appcache/beginner/

0

私は、クエリ文字列を変更index.jsを無視します例を聞いたことがある、V = 3のようなものにindex.3.js .htaccessでリダイレクトできます。

<IfModule mod_rewrite.c> 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L] 
</IfModule> 

この意志ルート/path/filename.extする/path/filename.20120101.extするすべての要求:ここ

はH5BPは、.htaccessファイルとタイムスタンプとこれを処理きちんとした方法です。次に、index.20120329.jsのようなファイル名にタイムスタンプを含めると、index.jsにリダイレクトされます。

関連する問題