Spec-Zone.ru › Web APIs

StorageManager: метод estimate()

Базовая линия 2023
Новое

С сентября 2023 года эта функция работает на последних версиях устройств и браузеров. Возможны проблемы с её работой на старых устройствах или браузерах.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Метод estimate() интерфейса StorageManager запрашивает у Storage Manager, сколько памяти занимает текущий домен (usage) и сколько памяти доступно (quota).

Этот метод работает асинхронно, поэтому возвращает Promise, который разрешается, как только информация станет доступной. Обработчик выполнения промиса вызывается с объектом, содержащим данные об использовании и квоте.

Синтаксис

estimate()

Параметры

Нет.

Возвращаемое значение

A Promise, который разрешается в объект со следующими свойствами:

quota

Числовое значение в байтах, предоставляющее приблизительное значение общего объёма памяти, доступного на устройстве пользователя или компьютере для сайта или веб-приложения. Возможно, доступно больше памяти, но нельзя на это полагаться.

usage

Числовое значение в байтах, приблизительно представляющее количество памяти, занимаемой сайтом или веб-приложением из доступной памяти, как указано в quota. Единица измерения — байт.

usageDetails Нестандартный

Объект, содержащий разбивку usage по системам хранения. Все включенные свойства будут иметь значение usage больше 0, а любая система хранения с 0 usage будет исключена из объекта.

Примечание: Возвращаемые значения не точны: из-за сжатия, дедупликации и обфускации по соображениям безопасности они будут приблизительными.

Вы можете заметить, что значение 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
  • StorageManager
  • navigator.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API