Я работаю над простой веб-утилитой, которая использует функцию IndexedDB (похожую на ключ-значение) для HTML5.
Я искал, но не смог узнать: какой максимальный размер я могу хранить в элементе?
Я работаю над простой веб-утилитой, которая использует функцию IndexedDB (похожую на ключ-значение) для HTML5.
Я искал, но не смог узнать: какой максимальный размер я могу хранить в элементе?
Я не думаю, что есть определенный предел для размера одного элемента, только глобальный предел.
Правила, касающиеся глобального лимита, изменились с тех пор, как этот ответ был изначально написан. последние документы находятся в MDN - в зависимости от доступного дискового пространства, ограничение "группы" (для данного домена, включая все его субдомены) может варьироваться от 10 МБ до 2 ГБ.
Старый ответ - устарел с выпуском Firefox 38 (2015-05), который удалил dom.indexedDB.warningQuota
:
Из ответа mbrubeck на support.mozilla.com (я заменил ссылки, которые он предоставил на perma-версии):
По умолчанию в Firefox 4 сайт может использовать до 50 МБ хранилища IndexedDB. Если он пытается использовать более 50 МБ, Firefox запросит у пользователя разрешение: http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js#101
В Firefox для мобильных устройств (Google Android и Nokia Maemo) Firefox запросит разрешение, если сайт пытается использовать более 5 МБ: http://mxr.mozilla.org/mozilla-central/source/mobile/app/mobile.js#571[...]
Если пользователь разрешает сайту превышать квоту IndexedDB в 50 МБ, то, насколько мне известно, Firefox больше не накладывает никаких ограничений. Единственным ограничением размера базы данных IndexedDB будет пространство на диске пользователя и операционная система.
Квота localStorage составляет 5000 КБ, и у веб-сайта нет возможности запросить у браузера разрешение хранить больше этой суммы в localStorage.
Добавление в ответы Nickolay. Ниже приведено описание возможностей IndexedDB в Chrome и IE
Chrome (рабочий стол). По умолчанию для веб-приложений хром не запрашивает пользователя при хранении данных с помощью indexedDB API. Он использует концепцию совместного пула, вот полное описание - Chrome HTML5 автономное хранилище
Chrome для Android. Не удалось найти официальную ссылку для указания квоты. Но по моему опыту я сохранил 300 МБ данных без каких-либо подсказок. Скорее всего, такое же поведение, как Desktop Chrome.