2014-02-21 3 views
0

У меня есть небольшой webapp, и я работаю над функцией кэширования appcache (офлайн-кеширование) HTML5. Ниже мой Manifest код файла: Имя файла: Manifest1.appcacheAppcache не работает

CACHE MANIFEST 

#21/02/14 

CACHE: 

Login.htm 

......... 

и в моем Login.htm я просто простой текст для отображения и я manifest="Manifest1.appcache" в HTML открывающий тэг.

Я развернул это на IIS, и он работает нормально, когда IIS включен, когда я останавливаю IIS, я могу получить доступ к этой странице один раз, а затем получить 404. Он запускает (Application Cache Obsolete event). Я не знаю, почему, пожалуйста, помогите.

ответ

1

Событие obsolete срабатывает всякий раз, когда устройство подключено к сети (или, по крайней мере, если оно похоже на браузер), но файл манифеста не может быть восстановлен. Таким образом, закрытие сервера не позволяет правильно имитировать автономность, поскольку браузер все еще считает, что он в сети (это он), но он не может получить файл манифеста, который в браузере такой же, как если бы вы удалил манифест, поэтому закрытие сервера - это не то, как вы должны его тестировать. Лучший способ имитировать, находясь в автономном режиме, - это ... быть в сети! Отключите Wi-Fi на вашем устройстве, а затем все должно работать хорошо.

Также убедитесь, что ваш сервер настроен на обслуживание .appcache файлов с типом MIME text/cache-manifest, для некоторых браузеров это требуется.

+0

Я отключил Wi-Fi и IIS, но все равно не повезло. – user1985466

+0

Также очень возможно, что вы не передаете файл с правильным типом MIME. Убедитесь, что ваш сервер настроен на отправку файлов '.appcache' с типом MIME« text/cache-manifest ». Я не уверен, как это сделать в IIS (я только использовал Apache и Node.js), но я не думаю, что это очень сложно настроить. И все-таки убедитесь, что вы фактически отправляетесь в автономный режим при тестировании. – Markasoftware

+0

MIME-тип установлен на IIS, любое другое предложение будет оценено. – user1985466

2

не уверен если все. Но у меня были проблемы с моим файлом манифеста, и он попал в пару неправильных имен файлов. Пробовали ли вы проверку файла манифеста, чтобы убедиться, что все файлы написаны правильно?

Вот хороший инструмент для этого: http://manifest-validator.com/validate Поместить в URL в кэше манифест т.е. что-то вроде http://www.yoursite.com/manifest.appcache

Я сделал несколько ошибок, когда я случайно не включаю папку, в пути к изображению. Этот инструмент хорошо работал, чтобы найти эти ошибки. Кроме того, если вы используете Grunt, есть задача grunt, называемая манифеста grunt, которая автоматически создаст файл манифеста, чтобы избежать орфографических ошибок и так далее. https://github.com/gunta/grunt-manifest

Смежные вопросы