Я разрабатываю веб-приложение для автономного использования, поэтому мне нужно использовать функциональность кеширования приложений.
Все отлично работает в 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. Пожалуйста, помогите.
Спасибо, Дэн
Как я понимаю, раздел «Автономные веб-приложения» в проекте W3C HTML5 является ненормативным; Это означает, что он все еще не является частью формального стандарта HTML5.
Поскольку эта функция все еще не является частью стандарта HTML5, разные браузеры могут иметь разные и разные / нестандартные реализации, если они вообще захотят ее реализовать. Не все браузеры могут поддерживать его. Не полагайтесь на ненормативные характеристики, пока они не станут частью стандарта.
У меня была похожая проблема. Я очень поздно отвечаю, но это может быть полезно для других. Убедитесь, что вы не столкнетесь с проблемами, описанными AshleysBrian в его ответе. В дополнение к этому
В автономном режиме простое изменение URL может быть проблемой
Eg: http://localhost:8080/app doesn't work on Firefox/IE
but http://localhost:8080/app/ works in Firefox/IE
Оба они работают в Chrome
Используйте эти удобные средства просмотра ресурсов, чтобы получить более подробную перспективу
about:cache - Firefox
chrome://appcache-internals/ - Chrome
Pls fill in if someone knows what is it for IE
Для меня ваш манифест кеша выглядит немного «необычно» ... это может помочь добавить раздел FALLBACK
... другой момент - то, что appcache может помешать «нормальному кешу браузера», т.е. если манифест кеша Для изменения необходимо убедиться, что браузер перезагружает его, в идеале это достигается путем изменения имени (например, с помощью номера версии, метки времени ... как части имени).
Вы можете взаимодействовать на своей странице с кэшем приложений через JS, что может помочь точно определить проблему, которую вы видите.
Подробную информацию, включая код JS и подробное описание, см. В
При необходимости возвращайтесь с конкретными вопросами.
ОБНОВЛЕНИЕ
Согласно комментариям, предоставленным OP , в этом показана хорошая реализация JS API для проверки / отладки appcache, как описано в ссылках выше.