StorageManager: estimate() メソッド
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2023年9月以降、すべてのブラウザーで利用可能です。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
メモ: この機能はウェブワーカー内で利用可能です。
estimate() は StorageManager インターフェイスのメソッドで、ストレージマネージャーに、現在のオリジンが使用しているストレージの大きさ (usage) と、利用可能な空き容量 (quota) を要求します。
このメソッドは非同期的に動作するので、情報が利用可能になると解決する Promise を返します。プロミスの成功ハンドラーは、使用量とクォータのデータを含む StorageEstimate を入力として受け取ります。
構文
estimate()
引数
なし。
返値
Promise で、次のプロパティを持つオブジェクトに解決します。
quota-
ユーザーの端末またはコンピューター上で、サイトのオリジンまたはウェブアプリが利用できる総ストレージ容量を控えめに見積もった、バイト単位の数値です。実際にはこの容量よりも多くの空間がある可能性もありますが、それに依存することはできません。
usage-
quotaで示された利用できる空間のうち、サイトまたはウェブアプリが現在使用するストレージ空間のおおよその値。単位はバイトです。 usageDetails-
ストレージシステムごとの
usageの内訳を含むオブジェクト。含まれるすべてのプロパティのusageは 0 より大きく、usageが 0 のストレージシステムはオブジェクトから除外されます。
メモ: これらは正確な数値ではありません。圧縮、重複排除セキュリティ上の理由による難読化などが行われるため、正確な値にはなりません。
quota はオリジンごとに異なることに気づくかもしれません。この違いは次のような要因に基づきます。
- ユーザーが訪れる頻度
- 公開されたサイトの有名度データ
- ブックマーク、ホーム画面へ追加、プッシュ通知の受付などのユーザーのエンゲージメントの印
例外
TypeError-
ローカルストレージのシェルフの取得に失敗した場合に発生します。例えば、現在のオリジンが不透明なオリジンである場合や、ユーザーがストレージを無効にしている場合などです。
例
この例では、使用量の概算値を取得し、現在使用しているストレージ容量のパーセント値をユーザーに提示します。
HTML の内容
現在、使用可能なストレージの容量 (<span id="quota"></span>) の約 <span id="percent"></span>% を使用しています。
JavaScript の内容
navigator.storage.estimate().then((estimate) => {
document.getElementById("percent").textContent = (
(estimate.usage / estimate.quota) *
100
).toFixed(2);
document.getElementById("quota").textContent =
`${(estimate.quota / 1024 / 1024).toFixed(2)}MB`;
});
結果
仕様書
| 仕様書 |
|---|
| Storage> # dom-storagemanager-estimate> |
ブラウザーの互換性
関連情報
- ストレージ API
Storage:Window.localStorageから返されるオブジェクトStorageManagernavigator.storage