HTML5のIndexedDB(Key-Value DBに類似)機能を利用する単純なWebユーティリティに取り組んでいます。
探していたのですが、わかりませんでした。アイテムに収納できる最大サイズはどれくらいですか?
HTML5のIndexedDB(Key-Value DBに類似)機能を利用する単純なWebユーティリティに取り組んでいます。
探していたのですが、わかりませんでした。アイテムに収納できる最大サイズはどれくらいですか?
単一のアイテムのサイズに特定の制限はないと思います。グローバルな制限のみです。
この回答が最初に書かれてから、グローバル制限に関する規則が変更されました。最新のドキュメントはMDNにあります。使用可能なディスク容量に応じて、「グループ」の制限(特定のドメイン(そのすべてのサブドメインを含む))は10MBから2GBの範囲になります。
古い答え-Firefox38(2015-05)のリリースで廃止され、削除されましたdom.indexedDB.warningQuota
:
support.mozilla.comのmbrubeckによる回答から(私は彼が提供したリンクをperma-versionsに置き換えました):
Firefox 4のデフォルトでは、サイトは最大50MBのIndexedDBストレージを使用できます。50MBを超えて使用しようとすると、Firefoxはユーザーに許可を求めます:http://mxr.mozilla.org/mozilla-central/source/modules/libpref/src/init/all.js#101
Firefox for mobileデバイス(GoogleAndroidおよびNokiaMaemo)では、サイトが5MBを超えて使用しようとすると、Firefoxは許可を求めます:http://mxr.mozilla.org/mozilla-central/source/mobile/app/mobile。 js#571 [...]
ユーザーがサイトに50MBのIndexedDBクォータを超える権限を付与した場合、私が知る限り、Firefoxはそれ以上の制限を課しません。IndexedDBデータベースのサイズの唯一の制限は、ユーザーのディスク容量とオペレーティングシステムです。
localStorageのクォータは5000KBであり、Webサイトがブラウザにその量を超える量をlocalStorageに保存する許可を求める方法はありません。
Nickolayの回答に加えて、ChromeとIEのIndexedDB容量の説明は次のとおりです。
Chrome(デスクトップ):デフォルトでは、Webアプリの場合、ChromeはindexedDBAPIを使用してデータを保存しているときにユーザーにプロンプトを表示しません。共有プールの概念を使用しています。完全な説明は次のとおりです-ChromeHTML5オフラインストレージ
Chrome for Android:割り当てを示すための公式リンクが見つかりませんでした。しかし、私の経験から、プロンプトなしで300MBのデータを保存しました。おそらくデスクトップChromeと同じ動作です。
最新のブラウザを使用する通常のWebサイトの場合、indexedDBで使用可能なストレージははるかに高いため、心配する必要はありません。
最大ストレージサイズは、ブラウザとディスク容量の2つによって異なります。
そのため、ChromeとほとんどのChromeベースのブラウザでは、ディスク容量の80%を使用でき、そこから75%を各オリジンで使用できます。つまり、100 GBのディスク容量がある場合、80 GBを使用してindexedDBにデータを格納し、そこから60GBを単一のオリジンで使用できます。
また、Firefoxでは各オリジンごとに2GBのデータを保存でき、Safariではオリジンごとに1GBのデータを保存できます。
使用可能なスペースと使用済みスペースの合計を次の方法で確認できます-
const quota = await navigator.storage.estimate();
const totalSpace = quota.quota;
const usedSpace = quota.usage;