ブラウザの自動保存はどこに保存され、どんなときに消えるのか
Markdownのコラム
「保存されました」と出るとき、その中身は実際どこにあるのか。
サーバーに送っていないツールの場合、答えは「そのブラウザの中」です。
保存先はlocalStorageと呼ばれる領域で、ブラウザがサイトごとに用意している保存棚のようなものです。
同じブラウザの同じサイトにしか残らない
localStorageはサイト単位で区切られています。
あるサイトが保存した内容を、別のサイトから読むことはできません。
同時に、これは次のことも意味します。
- 別のブラウザで開くと、保存内容は無い(ChromeとFirefoxは別の棚)
- 別の端末で開くと、保存内容は無い(同期はされない)
- シークレットモードで開いた内容は、ウィンドウを閉じた時点で消える
クラウド同期のあるサービスに慣れていると、この挙動は不便に見えます。
ただ、入力内容を外に送らない代わりに得ているものでもあります。
消えるのはどんなときか
保存内容が失われる代表的なケースは3つです。
1つ目は、ブラウザの閲覧データの消去です。
「Cookieと他のサイトデータ」を消す操作にlocalStorageも含まれます。キャッシュだけを消す設定であれば残ります。
2つ目は、容量の上限です。
localStorageに入れられる量はブラウザによって決まっており、無制限ではありません。上限に達すると書き込みが失敗します。
3つ目は、そもそも書き込めない場合です。
ブラウザの設定でサイトデータを保存しない指定になっていると、書き込み自体ができません。
LiteMDでは、localStorageが使えない環境でもエディタが止まらないよう、メモリ上の一時領域に切り替える作りにしています。
ただしメモリ上の内容はタブを閉じると消えます。動き続けることと、保存されることは別です。
保存のタイミング
LiteMDの自動保存は、入力が止まってから1.5秒後に走ります。
1文字ごとに書き込むと処理が重くなるため、少し待ってからまとめて保存する形です。
そのため、入力した直後にタブを強制終了すると、最後の数秒ぶんが保存されていないことがあります。
なお、同じブラウザで同じサイトを複数タブ開いている場合、片方の保存がもう片方に反映されます。
別々の下書きを2つのタブで並行して書く、という使い方はできません。
大事な文書はファイルに落とす
ブラウザの自動保存は、書きかけを守るための機能です。
保管のための機能ではありません。
数日以上残しておきたい文書なら、書き終えた時点で .md ファイルとして書き出しておくのが確実です。
書き出しておけば、ブラウザを変えても端末を変えても読めます。
ブラウザだけで動くMarkdownエディタ
LiteMDは入力したテキストを外部に送信しません。読み込みも変換もプレビューも、すべてブラウザの中で完結します。