localStorageのサイズ制限エラーに対処する

localStorageの5MB制限エラーを解決!QuotaExceededErrorの具体的な対処法と実装例を解説。try-catchを使ったエラーハンドリングで、ストレージ容量オーバー時のユーザー体験を改善する方法を紹介します。

Share

Web Storage APIにあるlocalStorageをよく使うのですが、5MBなどのサイズ制限があり、これに対処する方法についての記事がなかったので調べてみました。

エラー詳細

localStorageでサイズ制限にひっかかると以下のエラーコードが出力されます(Chrome)。

エラー名

error.name: QuotaExceededError

エラーコード

error.code: 22

エラーメッセージ

error.message: Uncaught DOMException: Failed to execute 'setItem' on 'Storage': Setting the value of 'foo_key_name' exceeded the quota.

foo_key_name はキーの名前です。)

参考(MDN):

DOMException - Web API | MDN

対処するコード

function saveToLocalStorage(key, value) {
    try {
        localStorage.setItem(key, value);
    } catch (e) {
        if ((e instanceof DOMException && (e.code === 22 || e.code === 1014 || e.name === 'QuotaExceededError')) ||
            (e.name === "NS_ERROR_DOM_QUOTA_REACHED" && localStorage && localStorage.length !== 0)) {
            // 制限に引っかかった場合の処理
            console.error(e);
            alert("保存に失敗しました: ストレージの容量制限を超えています。");
        } else {
            // その他のエラーの場合の処理
            console.error("保存に失敗しました: 不明なエラーです。", e);
            alert("保存に失敗しました: 不明なエラーです。");
        }
    }
}
 
// 使用例
saveToLocalStorage('foo_key_name', '何か大きなデータ');

このコードでは、ローカルストレージにデータを保存する関数として**saveToLocalStorage()**を定義しています。

この関数は**keyvalueを引数に取り、setItem**が成功するか、またはエラーが発生した場合にそれをキャッチして適切なメッセージを表示します。

中でも、ローカルストレージの容量制限を超えることを示すエラーコードまたはエラー名が返された場合には、ユーザーに対してストレージ制限に達したという内容をアラートします。

なお、QuotaExceededErrorはChromeのエラー名で、NS_ERROR_DOM_QUOTA_REACHEDはFirefoxのエラーです。

参考(MDN):

ウェブストレージ API の使用 - Web API | MDN

まとめ

このようにコードを書けばサイズ制限にもきれいに対応できるでしょう。

Read more

サービス更新履歴

ここでは、LiveQのサービス・製品への変更を全て紹介しております。 このページは大きな変更があった場合に更新されます。 いつごろにどのような機能がリリースされたかが分かります。 2026年6月: 高速化・安定化 * 5月よりサーバーおよびアプリケーションの大型リニューアルに取り組み、6月に読み込み速度の向上や、大規模アクセス時にも安定して高速に動作するように変更をおこないました。 2026年4月: 画像スライド * 新たなスライドの種類として画像スライドを追加しました。 * PowerPoint, PDFファイルを一括インポートし、画像スライドとして追加する機能を追加しました * そのほか多数の細かな変更(操作性などのデザイン改善や、不具合)をおこないました 2026年3月: ワードクラウド、コメントのAIモデレーション(監視) * 新たなスライドの種類としてワードクラウドを追加しました * コメントをAIで自動監視する機能をリリースしました * そのほか細かな改善や不具合の修正をおこないました 2026年2月: 有料プランのデータエクスポート

By 阿部 隼也

チームメンバーを招待する方法

チームメンバーを追加するには、招待する必要があります。 その招待方法を紹介します。 招待可能なチームメンバーの数は、ご利用のプランによって異なるため、事前にご確認ください。 チームページの「新しいチームメンバーを招待」にて、招待するメンバーのメールアドレスを入力し、「招待を送信」をクリックします。 招待された側で招待を承認 次に、招待された側の方によって招待を承認する必要があります。 ※この承認にはLiveQのアカウントが必要となりますので、必ず事前にご登録ください。 下記のような招待メールが届きます。 件名:【LiveQ】チームへの招待が届いています 差出人:[email protected] 既にLiveQに登録済みの方はそのまま「招待を承認して参加する」ボタンをクリックします。 まだLiveQに登録していない方は、登録後、同様に承認ボタンをクリックします。 チームを切り替える 招待を承認すると、チームページに下記のように「チーム切り替え」ができるようになります。 招待したユーザーにもメールが届きます 招待が承認されると、招待したユーザーに

By 阿部 隼也