はじめに
localStorage を使うことになり、サイズ制限エラーを試してみたい!と思って色々調べた結果を残します。
実現したいこと
サイズ制限の状態を準備して、localStorage の setItem 呼び出し時に QuotaExceededError を発生させたい。
やりかた
1.chrome の devtool の consoleで JavaScript を使いサイズ制限エラーが出るまで localStorage を利用
for (let i = 0; i < 1000000000000; i++) {
try {
localStorage.setItem(`key_${i}`, 1);
} catch (error) {
console.error(i);
console.error(error);
break;
}
}
2.実際に格納する値でもエラーが出る事を確認する(1でエラーが出るようになっても、実際格納する値ではエラーが出ない事もあるので。)
localStorage.setItem('aaaaaaaaaa', 1);
3.お試しが終わったらクリア
localStorage.clear();
参考資料
https://developer.mozilla.org/ja/docs/Web/API/Window/localStorage
https://developer.mozilla.org/ja/docs/Web/API/Storage_API/Storage_quotas_and_eviction_criteria
やりかたに辿りついた流れ
devtoolで一時的に格納できる最大サイズを小さくできないかな?と思い、devtoolをあさっていたら、Application に Simulate custom storage quota のチェックを発見!
こちらでサイズを極小にして、localStorageに大量データを格納してもエラーが出ず。
色々調べたけど分からず、GeminiにループするJavaScriptを作ってもらい、少し加工して今の方法に至る。