--- title: StorageManager.estimate() slug: Web/API/StorageManager/estimate translation_of: Web/API/StorageManager/estimate ---
{{securecontext_header}}{{APIRef("Storage")}}
estimate()
方法是{{domxref("StorageManager")}}的一个接口,用于估算某一个域名(或一个站点)下Storage Manager的总存储空间和已经使用了的存储空间。此方法为一个异步方法,如果此方法可用,那么其返回一个结果为resolved的{{jsxref("Promise")}}对象。resolved接收的参数是一个带有已使用数据存储空间和总可用总存储空间的{{domxref("StorageEstimate")}}对象。
var estimatePromise = StorageManager.estimate();
无
{{domxref('StorageEstimate')}}类型的状态为resolved的{{jsxref('Promise')}}
此数据包含了此应用(或域名)可用的存储空间({{domxref("StorageEstimate.quota")}})和目前已经使用了的存储空间({{domxref("StorageEstimate.usage")}})。
这些值不是明确的数字,在进行压缩,重复数据删除和出于安全原因起见进行了混淆之后,这个数据是不精确的。
你可能会发现不同的应用或站点分配的存储空间不同,具体取决于用户访问频率,和网站受欢迎程度等数据。
在这个示例中,我们使用estimate()得到目前所使用的存储空间占全部存储空间的百分比。
<p> You're currently using about <span id="percent"> </span>% of your available storage. </p>
navigator.storage.estimate().then(function(estimate) { document.getElementById("percent").innerHTML = (estimate.usage / estimate.quota * 100).toFixed(2); });
{{ EmbedLiveSample('Example', 600, 40) }}
Specification | Status | Comment |
---|---|---|
{{SpecName('Storage','#dom-storagemanager-estimate','estimate()')}} | {{Spec2('Storage')}} | Initial definition. |
{{Compat("api.StorageManager.estimate")}}