StorageManager.estimate()
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
estimate()
は StorageManager
インターフェイスのメソッドで、ストレージマネージャーに、現在のオリジンが使用しているストレージの大きさ (usage
) と、利用可能な空間の量 (quota
) を要求します。
このメソッドは非同期的に動作するので、情報が利用可能になると解決する Promise
を返します。プロミスの成功ハンドラーは、使用量とクォータのデータを含む StorageEstimate
を入力として受け取ります。
構文
js
const estimatePromise = StorageManager.estimate();
引数
なし。
返値
Promise
で、これは StorageEstimate
辞書に準拠したオブジェクトに解決します。この辞書には、このオリジンで利用可能なおよその大きさが StorageEstimate.quota
に、現在使用されているおよその量が StorageEstimate.usage
に入ります。
メモ: **これらは正確な数値ではありません。**圧縮、重複排除セキュリティ上の理由による難読化などが行われるため、正確な値にはなりません。
quota
はオリジンごとに異なることに気づくかもしれません。この違いは次のような要因に基づきます。
- ユーザーが訪れる頻度
- 公開されたサイトの有名度データ
- ブックマーク、ホーム画面へ追加、プッシュ通知の受付などのユーザーのエンゲージメントの印
例
この例では、使用量の概算値を取得し、現在使用しているストレージ容量のパーセント値をユーザーに提示します。
HTML の内容
html
<label>
現在、使用可能なストレージの約 <output id="percent"> </output>%
を使用しています。
</label>
JavaScript の内容
js
navigator.storage.estimate().then(function (estimate) {
document.getElementById("percent").value = (
(estimate.usage / estimate.quota) *
100
).toFixed(2);
});
結果
仕様書
Specification |
---|
Storage Standard # ref-for-dom-storagemanager-estimate |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
- Storage API
Storage
:Window.localStorage
から返されるオブジェクトStorageManager
navigator.storage