キャッシュ マニフェストを使用するオフライン対応の Web サイトがあります。「Empty Cache and Hard Reload」を実行しても、Chrome で古いバージョンのスタイルシートが提供されていることがわかりました。
ページまたは CSS の URL に ?foo=bar を追加すると、新しいバージョンの CSS が配信されます。
私のマニフェストは /Manifest/Index で動的に生成されます (例)
Chrome でページを開いて Fiddler を確認すると、予想どおり、Web サーバーに対して 1 つの要求が行われていることがわかります。
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
6 200 HTTP 10.6.4.67 /Manifest/Index 2,476 no-cache Expires: -1 text/cache-manifest; charset=utf-8 chrome:5484
/Manifest/Index のヘッダーの詳細は次のとおりです。
GET /Manifest/Index HTTP/1.1
Host: 10.6.4.67
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko)
Chrome/23.0.1271.97 Safari/537.11
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
HTTP/1.1 200 OK
Date: Thu, 10 Jan 2013 17:59:42 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 4.0
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Content-Type: text/cache-manifest; charset=utf-8
Content-Length: 2476
CSSにキャッシュバスティングクエリ文字列変数を追加しない限り、このキャッシュマニフェストのCSSファイル参照が更新されない理由を誰か教えてもらえますか? 特にChromeのキャッシュを空にしても??!
より詳しい情報:
キャッシュ マニフェストを更新すると、Chrome のコンソールを開いて、App Cache イベントが発生するのを確認できます。
ドキュメントは、マニフェスト /Manifest/Index を使用してアプリケーション キャッシュから読み込まれました
アプリケーション キャッシュ チェック イベント
アプリケーション キャッシュのダウンロード イベント
Application Cache Progress イベント (0/61) http://xxxx/Content/themes/base/jquery.ui.progressbar.css
Application Cache Progress イベント (1/61) http://xxxx/Content/themes/base/jquery.ui.accordion.css
をちょきちょきと切る
Application Cache Progress イベント (54/61) http://xxxx/Content/Site.css
このリストの一部の項目 (Site.css など) に下線が付いていることに気付きました。何故ですか?
ありがとう、
クリス