Я пишу веб-програму, яка буде використовуватися офлайн на iOS. Я створив маніфест, подаю його як text/cache-manifest
, і, як правило, він працює нормально, коли працює в Safari.
Якщо я додаю його як додаток на свій головний екран, то ввімкніть режим польоту, він взагалі не може відкрити програму - з’являється повідомлення про помилку, і він пропонує закрити програму. (Я думав, що в цьому полягає вся мета офлайн-програми!)
Коли я завантажую програму вперше в Інтернеті, я бачу в своїх журналах, що вона вимагає кожну сторінку, перераховану в маніфесті.
Якщо я вимкну режим літака та завантажу програму, я бачу, що перший файл, який він вимагає, - це мій файл main.html (який одночасно вказаний у маніфесті та має
manifest=...
атрибут). Потім він запитує маніфест та всі інші мої файли, отримуючи 200 для всіх (і 304 для всього, що запитується вдруге під час цього завантаження).Коли я завантажую сторінку в Chrome і натискаю, журнали показують єдине, що вона намагається отримати на сервері, це "/favicon.ico" (це 404, і я не думаю, що iOS Safari намагається завантажити , у будь-якому випадку). Усі файли, перелічені в маніфесті, є дійсними та подаються без помилок.
Інспектор Chrome перелічує в розділі "КЕШ ЗАСТОСУВАННЯ" всі перераховані кешовані файли, які я очікую. Весь набір файлів становить близько 50 КБ, що перевищує будь-які обмеження щодо автономних ресурсів, які я знайшов.
Чи має це працювати, тобто, чи повинен я мати можливість створювати офлайн-додаток для iOS, використовуючи лише HTML / CSS / JS? І де я можу зрозуміти, чому це не працює в автономному режимі?
(Пов’язано, але для мене звучить не зовсім однаково, оскільки мова йде про Safari, а не про автономну програму: „ Не вдається змусити веб-програму працювати в автономному режимі на iPod “)