HTML5 - манифест кеша отлично работает в Chrome, но не в Firefox и Opera

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

Все отлично работает в 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 элементов в автономном кеше », и я не нашел способа проверить кеш приложения на DragonFly.

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

Спасибо, Дэн

22
задан dan 2 December 2011 в 23:20
поделиться

3 ответа

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

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

0
ответ дан 29 November 2019 в 04:53
поделиться

У меня была похожая проблема. Я очень поздно отвечаю, но это может быть полезно для других. Убедитесь, что вы не столкнетесь с проблемами, описанными AshleysBrian в его ответе. В дополнение к этому

  1. Убедитесь, что файл манифеста используется как тип «text / cache-manifest»
  2. Не пытайтесь использовать его в режиме частного просмотра в Firefox / IE. Работает только в обычном режиме просмотра. Но он работает в обоих режимах в Chrome
  3. В автономном режиме простое изменение URL может быть проблемой

    Eg: http://localhost:8080/app doesn't work on Firefox/IE
    but http://localhost:8080/app/ works in Firefox/IE 
    

    Оба они работают в Chrome

  4. Используйте эти удобные средства просмотра ресурсов, чтобы получить более подробную перспективу

    about:cache - Firefox
    chrome://appcache-internals/ - Chrome
    Pls fill in if someone knows what is it for IE
    
1
ответ дан 29 November 2019 в 04:53
поделиться

Для меня ваш манифест кеша выглядит немного «необычно» ... это может помочь добавить раздел FALLBACK ... другой момент - то, что appcache может помешать «нормальному кешу браузера», т.е. если манифест кеша Для изменения необходимо убедиться, что браузер перезагружает его, в идеале это достигается путем изменения имени (например, с помощью номера версии, метки времени ... как части имени).

Вы можете взаимодействовать на своей странице с кэшем приложений через JS, что может помочь точно определить проблему, которую вы видите.

Подробную информацию, включая код JS и подробное описание, см. В

При необходимости возвращайтесь с конкретными вопросами.

ОБНОВЛЕНИЕ

Согласно комментариям, предоставленным OP , в этом показана хорошая реализация JS API для проверки / отладки appcache, как описано в ссылках выше.

3
ответ дан 29 November 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: