JavaScript LinuxWindowsmacOS

JavaScript — localStorage — QuotaExceededError и SecurityError

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Хранилище может быть переполнено (около 5 МБ), отключено в приватном режиме или заблокировано политикой. Оберните доступ в try/catch.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Если проблема осталась

#Что означает ошибка

Сообщение
QuotaExceededError

Хранилище может быть переполнено (около 5 МБ), отключено в приватном режиме или заблокировано политикой. Оберните доступ в try/catch.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
ПереполнениеQuotaExceededError возникает при сохранении строки.Уменьшите объём localStorage, используйте IndexedDB.
Приватный режимОграничения приватного режима влияют на доступ.Проверьте допустимость хранения в данном режиме.
Cookie отключеныПолитика блокирует данные сайта.Не отключайте защиту целиком, сообщите о невозможности хранения.
iframeiframe не имеет доступа в нужном источнике.Проверьте origin и разрешения встроенного контекста.

#Пошаговое решение

  1. Определите тип исключенияОткройте страницу в браузере, нажмите F12 → «Консоль» и найдите точное имя ошибки: QuotaExceededError указывает на превышение квоты хранилища, SecurityError — на запрещённый доступ из текущего контекста. Эти два случая исправляются по-разному. В приватном режиме, iframe и при блокировке cookie доступ может отличаться.
  2. Проверьте объём данных безопасноНа вкладке «Приложение» (Chrome/Edge) → «Локальное хранилище» выберите текущий источник и просмотрите ключи. Не нажимайте «Очистить хранилище»: это удалит и чужие данные сайта. Выясните, не записывается ли огромный JSON или повторяющийся кеш вместо маленьких настроек.
  3. Измените код приложения для больших объёмовДля больших данных используйте IndexedDB или серверное хранение; в localStorage оставляйте небольшие строки. Обрабатывайте исключения с try { localStorage.setItem(key,value); } catch (e) { ... }, различая имена ошибок, и предупреждайте пользователя о невозможности сохранения. Не рассчитывайте на фиксированный лимит в байтах для всех браузеров.
  4. Проверьте доступность контекстаПри SecurityError откройте приложение на нормальном адресе https:// или на http://localhost для разработки; проверьте разрешения cookie/данных сайта и ограничения iframe. Не отключайте все настройки приватности пользователю. Перезагрузите страницу и убедитесь, что настройки действительно сохраняются после обновления.

#Если проблема осталась

Если «JavaScript — localStorage — QuotaExceededError и SecurityError» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.