HTML5 - манифест кеша отлично работает на Chrome, но не на Firefox и Opera - PullRequest
22 голосов
/ 29 ноября 2011

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

Все отлично работает в Chrome (15.0.874.106), но не работает в Firefox (7.0).1) и Opera (11.52).

Это мой файл манифеста кеша cache.manifest.php (я сократил его до минимума):

<?php 
    header("Cache-Control: max-age=0, no-cache, no-store, must-revalidate");
    header("Pragma: no-cache");
    header("Expires: Wed, 11 Jan 1984 05:00:00 GMT");
    header('Content-type: text/cache-manifest');
?>CACHE MANIFEST

CACHE:

/app/common/css/reset.css
/favicon.ico

И это первые 4 строки«основного» HTML-документа:

<!DOCTYPE html> 
<html manifest="/app/mobile/cache.manifest.php"> 
    <head> 
    <title>MyApp Mobile</title> 

Когда я пытаюсь загрузить манифест кэша (http://www.myapp.com/app/mobile/cache.manifest.php) в браузер, файл отображается правильно, но при попытке загрузить страницу в автономном режиме, я получаюСтраница ошибки «Невозможно подключиться». Опять же, это происходит только в Firefox и Opera.

Firebug говорит: «0 items in offline cache», и я не нашел способа проверить кэш приложения на DragonFly.

Я злюсь и не знаю, как эффективно отладить проблему в Firefox и Opera. Пожалуйста, помогите.

Спасибо, Дэн

Ответы [ 13 ]

0 голосов
/ 06 октября 2014

У меня была такая же проблема. В Chrome и IE все работало нормально, но в FF появилось сообщение «Невозможно подключиться».

После нескольких часов отчаяния я нашел решение, и это было нелепо просто: В панели инструментов разработчика весь кэш был деактивирован. : /

0 голосов
/ 30 сентября 2014

Я нашел что-то похожее и отследил его до Cache-Control: заголовок no-store в манифесте. Chrome принимает это, но Firefox молча терпит неудачу с этим.

Мои тесты показали, что вы можете хранить заголовки без кэша и заголовки с истечением срока действия, чтобы обеспечить частое обновление.

0 голосов
/ 04 декабря 2011

Как я понимаю, раздел «Автономные веб-приложения» в проекте W3C HTML5 является ненормативным;Это означает, что он все еще не является частью формального стандарта HTML5.

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

...