Автономный кеш HTML5 работает по-разному в разных браузерах, но всегда дает сбой - PullRequest
2 голосов
/ 21 июля 2011

Я пытаюсь понять, как работает автономный кеш HTML5.Я читал различные учебные пособия, и все они имеют крошечные вариации того, как должен выглядеть файл манифеста.Я настроил страницу с манифестом кэша следующим образом:

CACHE MANIFEST
index.html
Icon.jpg

.htaccess файл с этим

AddType text/cache-manifest .manifest

и страницей index.html так:

<!DOCTYPE HTML>
<html manifest="cache.manifest">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />

<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Icon.jpg"/>

<script>
cache = window.applicationCache;

cache.onchecking = function()
{
statBar.innerHTML="Status: Checking";
}

cache.ondownloading= function() 
{
statBar.innerHTML="Status: Downloading";
}


cache.oncached = function() 
{
statBar.innerHTML="Status: Cached:";
}

cache.onerror =  function() 
{
statBar.innerHTML='Status: An Error ocurred.';
}

cache.onupdateready= function()
{
statBar.innerHTML='Updated';
}

cache.onprogress= function()
{
statBar.innerHTML = statBar.innerHTML + "Progress!";
}

</script>
<title>New Web Project</title>
</head>
<body>
<h1>New Web Project Page</h1>

<div id="statBar">Status:</div>
<script>
statBar = document.getElementById("statBar");
</script>
</body>
</html>

На FireFox, он покажет Checking, Downloading, progress, затем Cached, но с помощью надстройки firebug он говорит: «0 элементов в кеше приложения».Кроме того, статус отображается как 2 (UNCACHED).При повторном приеме он останется включенным Проверка, и статус отобразится как «Неактивный».

В Safari для iOS будет выполнено «Проверка загрузки», «Выполнение», а затем «Произошла ошибка».То же самое происходит, если принять снова.

В обоих случаях при обратном просмотре URL-адреса в автономном режиме появляется сообщение об ошибке «Соединение не найдено».Оба браузера являются последней доступной версией.

Изменение кэша манифеста для включения в него разделов CACHE:, NETWORK: и FALLBACK: также не оказало никакого влияния.Использование абсолютных URL тоже ничего не изменило.

Мониторинг с помощью программы перехвата пакетов под названием Packetyzer, я вижу, что файл манифеста доставляется в браузер (в данном случае Firefox) с правильным типом MIME,Кто-нибудь имеет представление о том, что я могу делать неправильно?

Файлы в настоящее время размещены на http://www.factordice.com/html5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...