web-dev-qa-db-ja.com

Edge / SafariにはIndexeddbのサイズに制限がありますか?

現在、さまざまなブラウザのindexeddbの制限を調査しています。 Chromeには厳しい制限はありませんでしたが、権限を付与する必要がありました( ソース )、Firefoxはローカルストレージの50%でした( ソース) )しかし、EdgeまたはSafariの何も見つかりませんでした。

Edgeを試してみたところ、IEによって設定された制限がないことがわかりました:ドメインあたり500MB( ソース

残念ながら、navigator.storage.estimate()はEdgeでは機能しません https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate

誰かがこれに関してEdgeまたはSafariの経験がありますか?

5
Sam

Microsoft EdgeのIndexedDB制限は、FirefoxやChromeと同様に、グローバル最大値の20%です。

デバイスと、使用しているEdgeのバージョンによって異なります。最新バージョンはChrome/FFに類似しており(原文のまま)、ドメインごとに次の制限があります。各ドメインは、グローバル制限(すべてのドメインに適用)の最大20%を占める可能性があります。

IndexedDB Size Table

出典: https://Twitter.com/gregwhitworth/status/1020391736974094336

したがって、ドメインごとにデータベースをどれだけ大きくできるかは、ハードドライブのボリュームサイズの大きさによって異なります。


SafariのIndexedDBの制限は、デスクトップでは無制限です。 https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/offline-for-pwa

モバイルSafariでは、アプリは最大50MBを使用できますが、デスクトップSafariでは無制限のストレージ(および5MB以降のプロンプト)が許可されます

ただし、Safariは、2018年11月に最初に追跡されたように、新しいIndexedDB制限を実装しました。

空きディスク容量のサイズが1GBを超える場合、デフォルトの制限は500MBです。それ以外の場合は、ディスクの空き容量の半分です。 - WebKit変更トラッカー

5
TylerH

Safariは現時点では十分に文書化されていないようです。そのため、Safari mobile(11.4)/ IndexedDBストレージの制限に関する最近の経験を共有したいと思いました。

TLDR:50MBのクォータはSafariモバイルのIndexedDBストレージには適用されません(11.4)

当初、すべてのオフラインストレージメソッド(Local + Cache + Session + IndexedDB + WebSQL + Cookies)の合計には50MBのハード制限があると思いました。

私はネットワーク経由で180MBのデータをプルダウンし、それをIndexedDBに直接ダンプしています(ブラウザーはIndexedDBの消費量が98MBであると報告しています-ここで何らかの内部圧縮が行われています)。Safari(モバイル11.4)はそれをIndexedDBで受け入れます。

50MBの制限は、ローカル/キャッシュストレージ(おそらく他のストレージ)にのみ適用され、IndexedDBには適用されないようです-ボリューム%のクォータがここに適用されると思います。

補足:コンテンツをLZ文字列などで圧縮してIndexedDBのスペースを節約しようとしないでください。ブラウザーの内部圧縮の実装は、違いがないか、実際に消費量が増えることを意味します。

3
steddy_eddie

SAFARIについてはあまり言うことはありませんが、MS Edgeの場合、最初の回答の上記の表は、MS Edgeが提供するドキュメントに従って、またMSEdgeバージョン38を試してみると正確です。MSEdgeバージョンの場合42(ASUSタブレットp027にインストールしました)制限と制限は、キャッシュストレージAPIのChromeとほぼ同じです。MDNによると https://developer.mozilla.org/en-US/docs/Web/API/StorageQuota 、ストレージの使用状況と割り当て情報をクエリしてリクエストできます。これは実験的なテクノロジーですが、十分に近い見積もりが得られます。 、およびこのプロパティはMS Edge 42バージョンでサポートされています(少なくとも上記のタブで、Windows iteltを更新せずにインストール/更新できないため、MS Edge42をマシン/デスクトップ/ラップトップにインストールしていません!)...情報のこの部分がお役に立てば幸いです。より良い情報を見つけたら、私たちと共有してください。乾杯:)


P.S.しかし確かに、SafariとEdgeの両方が今それを真剣に受け止めており、すでに開発の優先事項になっています。さらに、Safari 12以上は、モバイルで最大50 MBのテキスト/画像レベルのPWAをサポートしますが、ビデオはサポートしません。

0
zaffar