Как проверить IndexedDB 'QuotaExceededError' без заполнения диска?

Я хочу убедиться, что мой код правильно обрабатывает QuotaExceededError с IndexedDB, я бы предпочел не мучить свой SSD для этого.

Есть ли способ установить лимит хранилища (например, 5 МБ) в инструментах разработчика или настройках браузера?

Chrome работает над этим Проблема 945786

Binyamin 12.10.2019 19:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
1
1 214
4

Ответы 4

Я использовал виртуальную машину с небольшим жестким диском. Это явно не идеально, поэтому я надеюсь, что кто-то предложит лучший ответ!

В Chrome вы можете запустить браузер с --user-data-dir, указывающим на меньший объем, например через tmpfs.

Chrome не имеет поддержки инструментов разработчика для такого тестирования, но это в списке желаний.

Хороший ответ. Расширяя это, вы можете проверить ограничения хранилища для выдаваемой ошибки здесь: chromium.googlesource.com/chromium/src/+/refs/heads/master/… и использовать sudo mount -t tmpfs -o size=1G tmpfs /mnt/mytmpfs для конкретного ограничения, которое вы хотите протестировать.

holmberd 28.05.2019 19:07

Основываясь на ответе @ joshua-bell, но добавляя подробную информацию о том, как именно это сделать в Mac OSX:

  1. Скопируйте файл mount-ram.sh в https://gist.github.com/koshigoe/822455 (вам, вероятно, понадобится файл unmount-ram.sh и позже)
  2. Сохраните этот файл где угодно
  3. Из каталога, в котором вы сохранили mount-ram.sh, запустите sh mount-ram.sh mytmpfs 512
  4. cd /Applications/Google Chrome.app/Contents/MacOS (по крайней мере, там он был на моей машине)
  5. ./Google\ Chrome --user-data-dir=/PATH/TO/mytmpfs/, заменив /PATH/TO/mytmpfs/ на путь к каталогу, который вы создали на шаге 3.

Теперь у вас запущен Chrome, он указывает на файловую систему с объемом памяти всего 512 МБ.

Если вас устраивает ограничение в 100 МБ, просто откройте Chrome в режиме инкогнито.

Чтобы узнать, сколько свободного места у вас осталось, попробуйте следующее:

navigator.storage.estimate().then(console.info)

Другие вопросы по теме