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

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

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

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

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

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

Ответы [ 3 ]

15 голосов
/ 09 июня 2011

После прочтения комментариев (особенно комментариев Роуэн) я провел больше тестов и нашел ответ:

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

Вот шаги:

  1. Закройте веб-приложение (убедитесь, что оно не остается в фоновом режиме).
  2. Очистил кэш Mobile Safari: Настройки> Safari>Очистить кэш
  3. Повторно открыл приложение (для кэширования).
  4. Снова закройте веб-приложение (убедитесь, что оно не работает в фоновом режиме).
  5. Включено «Режим полета»: Настройки> Режим полета
  6. Повторно открыло приложение.

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

2 голосов
/ 19 октября 2016

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

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

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

if (!navigator.standalone) insertFrames();
2 голосов
/ 25 июля 2011

добавьте это в ваш html:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...