ブラウザのデータが消える場面 — 6 つと対策
ブラウザに保存した設定・ログインの印・下書きが消えたとき、原因は 1 つではありません。ここでは、消える場面を 6 つに分け、公式の説明と測定で、何が消えて何が残るかを書きます。測定の詳しい結果は、ブラウザの保存先 7 種にあります。置き場の選び方は、どのデータをどこに置くかです。
データが消える場面は、いくつあるのか?
| 消える場面 | 消えるもの | 根拠 |
|---|---|---|
| 閲覧データを削除した | ページ側の 6 種と HttpOnly の Cookie。chrome.storage は残った | 測定 |
| Cookie が本数の上限に当たった | 古い Cookie から | 測定 |
| 空き容量が足りなくなった | 最近使っていないオリジンの全データ | 公式 web.dev(Storage for the web)原文Chromium-based browsers will begin to evict data when the browser runs out of space, clearing all site data from the least recently used origin first, then the next, until the browser is no longer over the limit.出典を開く確認 2026-11-02 |
| Safari で 7 日間、そのサイトを操作しなかった | スクリプトが書いた保存先 | 公式 WebKit(ブログ)原文deleting all of a website’s script-writable storage after seven days of Safari use without user interaction on the site出典を開く確認 2026-11-02 |
| 拡張機能を更新・再読み込みした/ブラウザを再起動した | chrome.storage.session(領域の違い) | 公式 Chrome for Developers(chrome.storage)原文The storage is cleared if the extension is disabled, reloaded, updated, and when the browser restarts.出典を開く確認 2026-11-02 |
| 拡張機能を削除した | chrome.storage.local | 公式 Chrome for Developers(chrome.storage)原文Data is stored locally and cleared when the extension is removed.出典を開く確認 2026-11-02 |
2 番目の Cookie は、閲覧データを消していなくても、本数の上限で減ります。では、なぜ減るのでしょうか。
Cookie が突然なくなるのは、なぜか?
同じオリジンに、名前の違う Cookie を 400 本順に設定すると、Chrome 156 と Edge 156 は新しい 154 本だけが残り、古い 246 本は消えました。Safari 26.6.2 は 400 本とも残りました。Cookie の中身は 1 文字なので、大きさではなく本数の上限が働いています。Cookie を増やし続ける作りでは、古い Cookie(ログインの印を含む)が消えるおそれがあります。ログインの印を 1 本にして、Cookie の総数を少なく保つと、この消え方は避けられます。では、閲覧データを削除したときは、何が残るのでしょうか。
閲覧データを削除すると、何が残るのか?
| 保存先 | 閲覧データの削除(拡張機能の API・既定)のあと |
|---|---|
| ページ側の 6 種(localStorage・sessionStorage・Cookie・IndexedDB・Cache Storage・OPFS) | 消えた |
| HttpOnly の Cookie | 消えた |
| chrome.storage(local・sync・session) | 残った(拡張機能のオリジンを指定しても) |
設定画面の「閲覧履歴データの削除」から消した場合は、測っていません。では、消えないようにするには、どうすればよいのでしょうか。
persist() を呼べば、消えなくなるのか?
| 条件 | persist() の結果 |
|---|---|
| 新しいプロファイルの Chrome 156・Edge 156・Safari 26.6.2 | 3 回とも拒否 |
| 通知を許可した後(Chrome・Edge) | 拒否 |
| 拡張機能のページ(unlimitedStorage の有無とも) | 拒否 |
| 普段使いの Chrome 155 | 3 回とも許可 |
公式の説明では、Safari と Chrome・Edge は、利用の履歴で自動に許可か拒否を決めます。 出典を開く確認 2026-11-02MDN(Storage quotas and eviction criteria)原文
Safari and most Chromium-based browsers, such as Chrome or Edge, automatically approve or deny the request based on the user's history of interaction with the site and do not show any prompts to the user.
消えて困るデータは、どう持てばよいのか?
| 作り方 | 防げること |
|---|---|
| 正本はサーバー | ブラウザに置くのは写しだけにします。消えても、サーバーから取り直せます |
| ログインの印は 1 本 | Cookie の本数の上限で、古いものが消えるのを避けます |
| 書けない場合の処理 | 上限を超えると書き込みは例外(QuotaExceededError)で失敗します。測定でも、quota を 20 MiB に上書きすると 16 MiB で例外になりました |
| 起動時に取り直す | Safari で 7 日間操作しなかった利用者は、保存先が空になる前提にします |
測っていないのは、設定画面からの手動の削除・Safari の 7 日の規則・ディスクが逼迫したときの自動の削除・Firefox です。