1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
title: StorageManager.estimate()
slug: Web/API/StorageManager/estimate
translation_of: Web/API/StorageManager/estimate
---
<p>{{securecontext_header}}{{APIRef("Storage")}}</p>
<p>La méthode <strong><code>estimate()</code></strong> de l’interface {{domxref("StorageManager")}} demande au gestionnaire de stockage d’obtenir des informations de quota et d’usage pour l’origine actuelle. Cette méthode opère de manière asynchrone, elle renvoie donc une {{jsxref("Promise")}} qui se résoud une fois que l’information est disponible. La fonction gérant la résolution de la promesse reçoit en entrée un {{domxref("StorageEstimate")}} avec les données de quota et d’usage.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="syntaxbox">var <em>estimatePromise</em> = <em>StorageManager</em>.estimate();</pre>
<h3 id="Paramètres">Paramètres</h3>
<p>Aucun.</p>
<h3 id="Valeur_de_retour">Valeur de retour</h3>
<p>Une {{jsxref('Promise')}} qui se résoud en un objet qui se conforme au dictionnaire {{domxref('StorageEstimate')}}. Ce dictionnaire contient des estimations de la quantité d’espace disponible à l’origine ou à l’application (dans {{domxref("StorageEstimate.quota")}}), ainsi que la quantité d’espace actuellement utilisé (dans {{domxref("StorageEstimate.usage")}}). Ces nombres ne sont pas exacts ; entre la compression, la dé-duplication, et l’obfuscation pour des raisons de sécurité, ils ne seront pas précis.</p>
<p>Il est possible de constater que le <code>quota</code> varie d’application en application, basé sur des facteurs tels que la fréquence à laquelle l’utilisateur ou l’utilisatrice la visite, des données de popularité de sites bien connus, et ainsi de suite.</p>
<h2 id="Example">Exemple</h2>
<p>Dans cet exemple, nous obtenons des estimations d’usage et présentons le pourcentage de capacité de stockage actuellement utilisé à l’utilisateur ou à l’utilisatrice.</p>
<h3 id="Contenu_HTML">Contenu HTML</h3>
<pre class="brush: html"><p>
Vous utilisez actuellement environ <span id="percent">
</span>% de votre espace disponible.
</p>
</pre>
<h3 id="Contenu_JavaScript">Contenu JavaScript</h3>
<pre class="brush: js">navigator.storage.estimate().then(function(estimate) {
document.getElementById("percent").textContent =
(estimate.usage / estimate.quota).toFixed(2);
});
</pre>
<h3 id="Résultat">Résultat</h3>
<p>{{ EmbedLiveSample('Example', 600, 40) }}</p>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Spécification</th>
<th scope="col">Statut</th>
<th scope="col">Commentaire</th>
</tr>
<tr>
<td>{{SpecName('Storage','#dom-storagemanager-estimate','estimate()')}}</td>
<td>{{Spec2('Storage')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<p>{{Compat("api.StorageManager.estimate")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>l’API Storage</li>
<li>{{domxref("Storage")}}, l’objet renvoyé par {{domxref("Window.localStorage")}}</li>
<li>{{domxref("StorageManager")}}</li>
<li>{{domxref("navigator.storage")}}</li>
</ul>
|