Проблемы с кешем приложения HTML в автономном режиме при нажатии кнопки обновления

У меня есть веб-приложение, разработанное с кешем приложений. Я тестирую его на Windows Phone 8.1 под управлением IE 11 mobile. Когда подключение к Интернету отключено, веб-приложение загружается должным образом. Моя проблема в том, что если я нажму кнопку обновления в браузере, когда веб-приложение находится в автономном режиме, браузер попытается проверить наличие обновленного файла манифеста. Поскольку соединения нет, он не может его найти, а затем кеш отображается в устаревшем состоянии, и браузер делает кеш недействительным. Браузер обновляет веб-приложение, а затем пытается извлечь страницу из сети, что не удается, поскольку я не в сети. Подводя итог, что я могу сделать, чтобы браузер не аннулировал кеш приложения при обновлении при работе в автономном режиме?


person jsp3536    schedule 22.06.2014    source источник
comment
Пожалуйста, сообщите нам, если вы нашли решение   -  person maniac    schedule 08.12.2015


Ответы (3)


Это звучит как ошибка для меня. Согласно спецификации, applicationCache должен быть признан недействительным (устареть), только если запрос к файлу *.appcache возвращает статус 404 или 410. Если вы находитесь в автономном режиме, вместо этого он должен завершиться ошибкой со статусом 0.

Я бы предложил протестировать его с другими устройствами браузера и в конечном итоге сообщить об ошибке команде IE11.

person Gregor    schedule 26.06.2014

Не ответ, но моя репутация недостаточно высока, чтобы комментировать, извините.

Это заметили и другие люди (Почему автономное веб-приложение не работает? ), поэтому, как уже упоминалось здесь, это похоже на ошибку.

Вы тестируете версию 8.1, доступную в приложении Developer Preview? Или телефон с официальной версией 8.1?

person ty_rex    schedule 04.07.2014

Я столкнулся с той же проблемой. У меня еще нет решения. Но я хочу перечислить, что НЕ работает!

  • Добавление типов Mime IIS, как обсуждалось здесь
  • Замена .manifest на .appcache, как обсуждалось здесь
  • Добавление мета-заголовка «cache-control: public», как описано здесь
  • Также не удалось добавить заголовок вручную в элемент управления веб-браузером веб-приложения Cordova wp 8.1 (в файле метод навигации).
  • Удаление истории браузера и локального хранилища в настройках телефона Windows еще больше усугубляет проблему.
  • Как ни странно, используя параметры разработчика в IE и переходя на вкладку эмуляции на Windows Phone, кэш приложений загружается успешно.

Я надеюсь, что этот список поможет другим людям не находить других решений.

person maniac    schedule 08.12.2015