ソフト制限(ユーザーが超過する許可を与える必要がある)とは何ですか?ハードリミットとは何ですか(最大許容)。
警告-この情報は古くなっています-下記の その他の回答 を参照してください。
Chromeには、 QUOTA_ERR
。 これがMDNリファレンスです その事実。
spec はQuotaExceededError
に言及していますが、いつスローすべきかについては何も言っていないようです。
QuotaExceededError十分なストレージスペースが残っていないか、ストレージクォータに達し、ユーザーがデータベースにスペースを追加することを拒否したため、操作は失敗しました。
厳しい限界について聞いたことがなく、自分の開発で限界に達しませんでした。あなたがそれに到達する前に、パフォーマンスはかなり南に行くはずです。
経験則は、ユーザーのハードドライブの使用可能なスペースの6%(2015年7月を編集:10%でした)で、Originがwebsql、appcache、またはファイルシステムapiを使用している場合は少なくなります。 5mbについて言及しているMDNドキュメントは古く、更新されています。現在のポリシーに関するつまらない詳細はこちら: https://developer.chrome.com/apps/offline_storage
いくつかの迷惑な微妙な点に注意してください。
Chrome> dev tools(F12)> consoleの次のコードでクォータを確認します
// Request storage usage and capacity left
window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY,
//the type can be either TEMPORARY or PERSISTENT
function(used, remaining) {
console.log("Used quota: " + used + ", remaining quota: " + remaining);
}, function(e) {
console.log('Error', e);
} );
IndexedDBには、Google Chromeの「TEMPORARY」ストレージからメモリが割り当てられます。 Chromeの一時ストレージには、使用可能なディスク容量の50%のデフォルトクォータがあり、その20%がオフラインアプリで使用可能です。一時ストレージに対して追加のクォータをリクエストしても何も起こりません。
上記に基づいて、質問への回答は次のようになります。
Browser Storage Abuser ツール( this HTML5Rocksの記事で引用され、さまざまなブラウザーの結果を文書化しています)を使用して、Chrome実行しています。
より多くのリンクを投稿するのに十分なSOレピュテーションはありませんが、上記のクォータリサーチに関するHTML5Rocks記事には、適切なストレージタイプ(TEMPORARYまたはPERSISTENT)および適切なストレージメカニズム(必ずしもIndexedDBをゼロ化していない場合)、アプリケーションに適している可能性があります。
問題は、Chromeおよびタグ付きIndexedDBです。そして、Chrome拡張機能またはアプリ(IndexedDBの無制限のストレージを許可する)ではなく、Webサイトに関するものです。
Webサイトの場合、IndexedDBはChrome一時ストレージ( source )のAPIです。したがって、質問は一時ストレージのquotaについてです。 Chromeで。
Chrome 67、クォータの動作が変更され、これは バグレポート を除いて実際には文書化されていません。まとめて、現在のクォータの動作は次のとおりです。
In Chromeノーマルモード
オフラインAPI(アプリキャッシュ、ファイルシステム、IndexedDB、WebSQL)の場合:
「使用可能なままにしておく」値がヒットした場合、1つのオリジン(「サイト」)のクォータはゼロになります。 「使用可能なままにしておく」値は、大容量ストレージで空き領域を確保するためのスペースに関連しています。 Chrome 67、「2 GiB」と「10%of mass storage total capacity」の下限値です( source )。この制限に達すると、一時ストレージへの追加の書き込みは失敗しますが、一時ストレージ内の既存のデータは削除されません。
「使用可能なままにしておく」値がまだヒットしていない場合、クォータは共有プールの20%になります( source )。これは(おそらく)「Chromeによって既に保存されている一時ストレージのすべてのデータの20%に加えて、Chromeは「使用可能なままにする」値を押すことなくローカルストレージに保存できるすべてのデータ」を意味します」.
WebストレージAPI(LocalStorage、SessionStorage、…):5 MiB固定( source );これが上記の「使用可能なままにする必要がある」という制限の影響を受けるかどうかはわかりません。
In Chromeシークレットモード