Ограничение размера манифеста кэша и веб-приложения
Я нахожусь на стадии планирования для написания приложения, все еще выбирая технологию, которую я хочу использовать для написания приложения. Первоначальная идея состояла в том, чтобы написать веб-приложение, но это привело к тому, что его нельзя было просматривать в автономном режиме. Затем я обнаружил манифест кэша, и это могло показаться ответом.
Тем не менее, начиная с этого первого пункта, кажется, что существуют ограничения на размер Cache Manifest. Я не могу найти полный список ограничений по размеру для каждого браузера, поэтому я не могу сказать, является ли он полностью изнурительным (хотя я думаю, что это может быть). Браузеры, над которыми я хочу, чтобы приложение работало, это Firefox, Chrome и мобильные браузеры Safari (то есть оно должно работать на iPad).
Насколько я понимаю, в большинстве случаев общий лимит кэша составляет около 5 МБ (в зависимости от браузера к браузеру), но этого недостаточно для моих нужд. Я ищу, чтобы хранить все данные пользователей онлайн в автономном режиме. Это включает в себя такие вещи, как загруженные файлы (PDF-файлы, изображения), а также контент, необходимый для физической работы приложения. В любом примере, который я видел, кеш-манифест использовался только для кеширования офлайн-вещей, таких как html, css, javascript и ресурсы изображений на сайте. Подходит ли для автономного хранения PDF-файлов, загруженных пользователем?
Если ответом на этот вопрос является громкое "нет" (я боюсь, что так оно и будет), есть ли другие решения? Или "правильное" приложение в браузере, то есть такое, которое требует разумного места, в настоящее время совершенно невозможно? Мы все еще ждем, чтобы браузеры догнали требования разработки?
Изменить: просто чтобы добавить, я знаю, что нет никаких ограничений на Cache-Manifest в спецификации HTML5, но все реализации, кажется, ограничивают его, и это повлияет на все, что я пытаюсь написать.
4 ответа
Вы можете узнать больше об ограничении емкости здесь: http://grinninggecko.com/developing-cross-platform-html5-offline-app-1/
В случае, если люди все еще задаются вопросом об этом...
В настоящее время у меня есть приложение, которое имеет 44 МБ ресурсов, успешно загруженных и протестированных в автономном режиме на Safari(6.1), Chrome(31), Firefox(26), iPad (ios7) и iPhone (ios6).
Единственная проблема, которую я обнаружил, это когда вы добавляете приложение на домашний экран. Я решил, что это потому, что приложение слишком велико и нуждается в расширении кэша, однако для этого нет никакой обработки, и оно просто заканчивается ошибкой. Обойти -> перезагрузить приложение. Закрыть, открыть и восстановить кэш = работает.
В соответствии со спецификацией ограничения отсутствуют, но я считаю, что ограничение превышает 5 МБ. Смотрите также Есть ли ограничение по размеру для манифеста HTML5?
Размер Appcache ограничен до 5 МБ на устройствах Android. Если вы создаете гибридное приложение для устройств Android, вам нужно убедиться, что appcache не должен превышать 5 МБ. В противном случае загрузка приложения может завершиться неудачно, как только он достигнет предела размера.
Та же проблема не возникает в других устройствах (iPhone, Windows, Blackberry и т. Д.).
Мобильный
| Chrome | Android Browser | Firefox | Safari | Safari | iOS WebView | iOS WebView |
| 40 | 4.3 | 34 | 6,7 | 8 | 6,7 | 8 |
| ~ | ∞ | ∞ | 300MB | 300MB | 100MB | 100MB |
рабочий стол
| Chrome | Firefox | Safari | Safari | IE | IE |
| 40 | 34 | 6,7 | 8 | 9 | 10,11 |
| ~ | 500MB | ∞ | ∞ | ? | 100MB |