オフライン アプリがどのブラウザーにもキャッシュされないのはなぜですか?
ここで簡単なテストを作成しました: http://design.aqueo.us/test/appcache/
1 つの html ファイルとマニフェストの 2 つのファイルのみです。(html ファイルには、キャッシュ ステータスを表示するための JavaScript が含まれています。) コンソール ログを確認すると、常に「キャッシュ ステータス: キャッシュされていません」と表示されます。また、chrome://appcache-internals/ (Google Chrome の場合) にもサイトは表示されません。私の知る限り、ブラウザはマニフェスト ファイルをフェッチすることさえありません。複数のブラウザでこれを試しました。
マニフェストは次のとおりです。
CACHE MANIFEST
# .
HTML は次のとおりです。
<!doctype html>
<html>
<head manifest="offline.appcache">
<meta charset="utf-8">
<title>Appcache test</title>
<script>
(function() {
var webappCache = window.applicationCache;
function loaded()
{
var h1El = document.querySelector("h1");
var connectionStatus = ((navigator.onLine) ? 'online' : 'offline');
h1El.textContent = h1El.textContent + " - currently: " + connectionStatus;
switch(webappCache.status)
{
case 0:
console.log("Cache status: Uncached");
break;
case 1:
console.log("Cache status: Idle");
break;
case 2:
console.log("Cache status: Checking");
break;
case 3:
console.log("Cache status: Downloading");
break;
case 4:
console.log("Cache status: Updateready");
break;
case 5:
console.log("Cache status: Obsolete");
break;
}
}
function updateCache()
{
webappCache.swapCache();
console.log("Cache has been updated due to a change found in the manifest");
}
function errorCache()
{
console.log("You're either offline or something has gone horribly wrong.");
}
window.addEventListener("load", loaded, false);
webappCache.addEventListener("updateready", updateCache, false);
webappCache.addEventListener("error", errorCache, false);
})();
</script>
</head>
<body>
<h1>Appcache Test</h1>
</body>
</html>