StorageManager: метод estimate()
Базовая линия 2023
Новое
С сентября 2023 года эта функция работает на последних версиях устройств и браузеров. Возможны проблемы с её работой на старых устройствах или браузерах.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Метод estimate() интерфейса StorageManager запрашивает у Storage Manager, сколько памяти занимает текущий домен (usage) и сколько памяти доступно (quota).
Этот метод работает асинхронно, поэтому возвращает Promise, который разрешается, как только информация станет доступной. Обработчик выполнения промиса вызывается с объектом, содержащим данные об использовании и квоте.
Синтаксис
estimate()
Параметры
Нет.
Возвращаемое значение
A Promise, который разрешается в объект со следующими свойствами:
quota-
Числовое значение в байтах, предоставляющее приблизительное значение общего объёма памяти, доступного на устройстве пользователя или компьютере для сайта или веб-приложения. Возможно, доступно больше памяти, но нельзя на это полагаться.
usage-
Числовое значение в байтах, приблизительно представляющее количество памяти, занимаемой сайтом или веб-приложением из доступной памяти, как указано в
quota. Единица измерения — байт. usageDetailsНестандартный-
Объект, содержащий разбивку
usageпо системам хранения. Все включенные свойства будут иметь значениеusageбольше 0, а любая система хранения с 0usageбудет исключена из объекта.
Примечание: Возвращаемые значения не точны: из-за сжатия, дедупликации и обфускации по соображениям безопасности они будут приблизительными.
Вы можете заметить, что значение quota отличается для разных доменов. Это различие обусловлено следующими факторами:
- Частота посещений пользователем
- Данные о популярности сайта
- Сигналы вовлечения пользователя, такие как добавление в закладки, добавление на домашний экран или принятие push-уведомлений
Исключения
TypeError-
Выбрасывается, если получение локального хранилища не удалось. Например, если текущий домен является непрозрачным или если пользователь отключил хранилище.
Примеры
В этом примере мы получаем оценки использования и отображаем процент занимаемой емкости хранилища пользователю.
HTML
<label> You're currently using about <output id="percent"> </output>% of your estimated storage quota (<output id="quota"></output>). </label>
JavaScript
navigator.storage.estimate().then((estimate) => {
document.getElementById("percent").value = (
(estimate.usage / estimate.quota) *
100
).toFixed(2);
document.getElementById("quota").value =
(estimate.quota / 1024 / 1024).toFixed(2) + "MB";
});
Результат
Спецификации
| Спецификация |
|---|
| Хранилище # ref-for-dom-storagemanager-estimate |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
estimate |
61 | 79 | 57 | 48 | 17 | 61 | 57 | 45 | 17 | 8.0 | 61 |
usageDetails |
61 | 79 | Нет | 48 | Нет | 61 | Нет | 45 | Нет | 8.0 | 61 |
См. также
- API хранилища
-
Storage, объект, возвращаемыйWindow.localStorage StorageManagernavigator.storage
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/StorageManager/estimate