Android のみのバグであると確信している問題がありますが、確認する必要があり、回避策が必要なので、あなたの 1 人が助けてくれることを願っています :)
これが起こることです:
- ブラウザでインデックスファイルにアクセスします
- マニフェスト ファイルに記述されているファイルがキャッシュされます
- すべて正常に動作し、オフラインでファイルにアクセスできます
- この場合、マニフェストのバージョン番号を変更すると、ファイルはブラウザーで正常に更新されます (スワップと更新の後)。
- ...Android ではありません (Samsung Galaxy SIII Jelly Bean)。設定でキャッシュをクリアするまで、スタックしてマニフェストファイルがサーバーから読み込まれ、何をしても更新されません。
他のキャッシング メカニズムに関連している可能性があると考えましたが、ヘッダー設定は役に立ちません。
興味深い観察:
- アプリ キャッシュ マニフェストを直接呼び出して、ブラウザーに表示できます。コンテンツを変更して再度更新すると、変更がブラウザーに反映されます。
- 次に、index.html ファイルを呼び出してアプリのキャッシュを呼び出します。
- 手順 1. を繰り返し、アプリのキャッシュを直接呼び出します。これで、常にキャッシュされたバージョンが表示されます。- ただし、iOS、Firefox、Safari、Chrome などにはありません。
これにより、ブラウザがマニフェストファイル自体をキャッシュしていると結論付けます...
コードはここからダウンロードできますhttp://bit.ly/Tw9Qqy
index.html
<!--[if IEMobile 7 ]> <html class="no-js iem7"> <![endif]-->
<!--[if (gt IEMobile 7)|!(IEMobile)]><!--> <html class="no-js" manifest="app.manifest"> <!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta charset="utf-8">
<title>test</title>
<meta name="description" content="">
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta http-equiv="cleartype" content="on">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="test">test4</div>
<img src="test.png"/>
</body>
</html>
app.manifest CACHE MANIFEST # v127
CACHE:
style.css
test.png
FALLBACK:
NETWORK:
*
スタイル.css
#test{
color: blue;
}
凝ったものは何もないので、煮詰めてすべてのノイズを取り除こうとしました。
ヘルプ、解決策、試してみるアイデアなどは大歓迎です! :)