Я работаю над HTML-приложением для клиента. Весь внешний интерфейс приложения состоит из 1 файла HTML, 1 файла Javascript, 1 файла CSS (плюс jquery) и нескольких изображений. На сервере есть несколько php-скриптов, которые вызываются с использованием AJAX, но только при наличии подключения к Интернету. Если соединение недоступно, то сайт будет использовать локально кэшированные данные (используя localStorage
).
Чтобы сделать сайт доступным в автономном режиме, я объявляю манифест кеша в своем HTML. Мой HTML выглядит так:
<!DOCTYPE html>
<html manifest="cache.manifest.php" language="en">
...
</html>
Вывод cache.manifest.php
выглядит следующим образом:
CACHE MANIFEST
#VersionHash: 80b9345e6c39efbbe8431e394b014b4f
CACHE:
/css/ebot.css
/favicon.ico
/images/appicon.png
/images/list-arrow.png
/images/list-checkmark.png
/images/woman.png
/index.html
/js/jquery-1.8.3.min.js
/js/ebot.ls.js
NETWORK:
/emaillog.php
/getdata.php
/uploadlog.php
Все идет нормально. Теперь я захожу на сайт из браузера с доступным подключением к Интернету. Я получаю небольшое уведомление с вопросом, разрешить ли сайту хранить информацию для использования в автономном режиме - я разрешаю. Когда я проверяю настройки, я вижу, что на сайте хранится 316 КБ данных - примерно так.
Теперь я отключаю интернет-соединение и пытаюсь получить доступ к http://www.mysite.com/index.html
- и получаю сообщение об ошибке «Интернет-соединение недоступно» (или что-то в этом роде), и страница не отображается. Это происходит в 3 браузерах, которые я тестировал на своей машине разработки (firefox, safari и chrome), а также на клиентском ipad (приложение в конечном итоге предназначено для использования на ipad).
Что мне здесь не хватает? Что я делаю неправильно?