71

HTML5のIndexedDB(Key-Value DBに類似)機能を利用する単純なWebユーティリティに取り組んでいます。

探していたのですが、わかりませんでした。アイテムに収納できる最大サイズはどれくらいですか?

4

3 に答える 3

58

単一のアイテムのサイズに特定の制限はないと思います。グローバルな制限のみです。

この回答が最初に書かれてから、グローバル制限に関する規則が変更されました。最新のドキュメントは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に保存する許可を求める方法はありません。

于 2011-10-23T17:52:45.643 に答える
30

Nickolayの回答に加えて、ChromeとIEのIndexedDB容量の説明は次のとおりです。

  • Chrome(デスクトップ):デフォルトでは、Webアプリの場合、ChromeはindexedDBAPIを使用してデータを保存しているときにユーザーにプロンプ​​トを表示しません。共有プールの概念を使用しています。完全な説明は次のとおりです-ChromeHTML5オフラインストレージ

  • Chrome for Android:割り当てを示すための公式リンクが見つかりませんでした。しかし、私の経験から、プロンプトなしで300MBのデータを保存しました。おそらくデスクトップChromeと同じ動作です。

  • Internet Explorer 10:デフォルトでは、ユーザーは10MBのストレージを要求されます。ドメインあたり250MBがデフォルトのハード制限ですが、ユーザーは1GBまで独自の制限を構成できます。
于 2013-12-19T07:10:47.007 に答える
15

最新のブラウザを使用する通常の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;
于 2020-07-21T17:35:23.433 に答える