ブラウザがクラッシュしてもテキストエリアの内容を保存しておく UserJS
最近、久しぶりにしばらく Firefox を使ってた。Firefox すごい。何がすごいって、クラッシュしても OS がカーネルパニック起こしても書きかけのブログが消えてなかったこと。
これは羨ましい。ということで UserJS を書いた。
注意: localStorage を使うので、ページ側から見られてしまったり、ページのスクリプトに思わぬ副作用を与える可能性があることを承知した上で使ってください。それから、もしブラウザがデフォルトでそういう機能を提供することになったら手動でアンインストールしてください。
↑raw というところをクリックすれば生のスクリプトを表示。Chrome だったらそのときにインストールしますかという表示が出るはず。
Opera と Chrome と Safari (NinjaKit) で動くのを確認した。
やってることは、textarea の内容を1分おき (または文字を書くたび) に保存し、もし保存してから10分以内に同じ URL を開いたら内容を復元するというもの。input 要素には対応してない。
Chrome や Safari はタブを閉じるときに「いいんですか?」と聞いてきたりするけど、毎回聞かれてとてもウザい。しまった! と思ったら自分でタブ開き直しますから勝手に内容復元してよ、って思う。
動かないページがあると言われたのでアップデートした。動かないというか、同じ origin の URL のタブをいくつも開いてると、お互いに上書きしちゃってうまく保存できてなかった。とりあえず Opera では確認したけど、バグってたら教えてください。