StorageManager.estimate()
Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The estimate()
method of the StorageManager
interface asks the Storage Manager for how much storage the current origin takes up (usage
), and how much space is available (quota
).
This method operates asynchronously, so it returns a Promise
which resolves once the information is available. The promise's fulfillment handler is called with a StorageEstimate
containing the usage and quota data.
Syntax
const estimatePromise = StorageManager.estimate();
Parameters
None.
Return value
A Promise
that resolves to an object which conforms to the StorageEstimate
dictionary. This dictionary contains estimates of how much space is available to the origin in StorageEstimate.quota
, as well as how much is currently used in StorageEstimate.usage
.
The returned values are not exact; between compression, deduplication, and obfuscation for security reasons, they will be imprecise.
You may find that the quota
varies from origin to origin. This variance is based on factors such as:
- How often the user visits
- Public site popularity data
- User engagement signals like bookmarking, adding to homescreen, or accepting push notifications
Example
In this example, we obtain the usage estimates and present the percentage of storage capacity currently used to the user.
HTML content
<label>
You’re currently using about <output id="percent">
</output>% of your available storage.
</label>
JavaScript content
navigator.storage.estimate().then(function(estimate) {
document.getElementById("percent").value =
(estimate.usage / estimate.quota * 100).toFixed(2);
});
Result
Specifications
Specification | Status | Comment |
---|---|---|
Storage The definition of 'estimate()' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
BCD tables only load in the browser
See also
- Storage API
Storage
, the object returned byWindow.localStorage
StorageManager
navigator.storage