Подтвердить что ты не робот

IOS: отключил ли Apple возможность автономной работы HTML5 для веб-приложений, сохраненных на главном экране?

Я много работал над тем, чтобы несколько веб-приложений работали в автономном режиме на iOS, используя манифест HTML5. Я столкнулся с типичными проблемами, которые есть у всех остальных, и исправил их, и все, кажется, работает нормально, за исключением случаев, когда я сохраняю веб-приложение на рабочем столе на своем iPhone 4.

Если я это сделаю, а затем включите режим самолета, я получаю следующее предупреждение при попытке получить доступ к приложению через главный экран: "ваше имя-приложение не может быть открыто, потому что оно не подключено к Интернету". Доступ к приложению через браузер Safari отлично работает в автономном режиме.

Если кто-нибудь знает, если это ошибка с моей стороны, или даже тонкая возможность работы, расскажите.

Даже при загрузке нового веб-приложения Financial Times (очень хорошо с обширной поддержкой LocalStorage) возникает ошибка при доступе к нему в автономном режиме с главного экрана.

Технические характеристики: Запуск iPhone 4 с iOS 4.3.3 (но также видел проблему в 4.3.2)

4b9b3361

Ответ 1

После прочтения комментариев (особенно Rowan's) я провел больше тестов и нашел ответ:

Нет, Apple не отключила автономную функцию HTML5 для веб-приложений, сохраненных на главном экране, она работает - по большей части. Есть ошибка, которая сделает ее неработоспособной. Кажется, он не имеет ничего общего с вашей установкой манифеста (если, возможно, он не загрузил плохой манифест или неполный манифест в какой-то момент.) Мы не знаем, насколько широко распространено это, но исправить это, чтобы очистить ваш кэш Safari для мобильных устройств.

Здесь шаги:

  • Закройте веб-приложение (убедитесь, что оно не торчит в фоновом режиме).
  • Очищенный кэш Safari для мобильных устройств: настройки > Safari > Clear Cache
  • Открылось приложение (для кэширования).
  • Закройте веб-приложение еще раз (убедитесь, что он не торчит в фоновом режиме).
  • Включено "Режим самолета": Настройки > Режим полета
  • Открыл приложение.

Теперь он должен работать в автономном режиме. Если это не так, то это, вероятно, отдельная проблема манифеста в вашем приложении. Похоже на странную ошибку с кешем браузера - или, возможно, кеш был полностью заполнен? Кто знает, но это ответ. Спасибо, ребята.

Ответ 2

добавьте это в свой html:

http://jonathanstark.com/blog/2009/09/27/debugging-html-5-offline-application-cache/

Я нашел его массово полезным - хотя я создал файл манифеста и сравнил его с другими людьми, я обнаружил, что эта отладка JavaScript script дала мне ключ, который я бы никогда не нашел иначе. У меня, видимо, была синтаксическая ошибка в моем манифесте... Короче говоря, мне пришлось удалить все и добавить пути к каждому файлу/изображению по одному. Конечный результат был тем же, однако он работал... как странно!!! пробелы/комментарии влияют на синтаксис файла?

Ответ 3

iOS кажется очень чувствительным к проблемам при загрузке в автономном режиме.

Я получал сообщение об ошибке "не удалось открыть", когда отключен на странице, над которой я работал. Проблема оказалась в том, что страница создала iframe, указывающую на сайт, у которого не было AppCache. Удаление этих iframe исправило проблему.

В моем случае я обработал его с помощью window.navigator.standalone, который сообщает вам, работаете ли вы в домашнем приложении iOS. Код выглядел так:

if (!navigator.standalone) insertFrames();