はてなダイアリーは結構な頻度でエラーが出ますけど、日記を投稿したときに例の犬が現れて書いていたエントリが消滅したりすると、あのウェルシュコーギーペンブロークを韓国に強制連行して(-- 禁則事項のため削除 --)。もちろん、はてなが大好きなはてなー(棒読み)の自分は、そんな非人道的な事したくないのでHTML 5のストレージ機能を使ってsubmitする前にデータをセーブするグリモンスクリプトを書いてエントリ消滅に備える事にした。
// ==UserScript== // @name HatenaDiaryAutoSave // @namespace http://nullpon.moe/ // @description はてなダイアリーを自動保存する // @include http://d.hatena.ne.jp/*/edit // ==/UserScript== window.addEventListener("unload",saveHatenaDiary,true); window.addEventListener("load",loadHatenaDiary,true); function saveHatenaDiary() { var diary = document.getElementById("textarea-edit").value; if (diary) { window.localStorage.setItem("diaryBackUp", diary); } } function loadHatenaDiary() { var diary = window.localStorage.getItem("diaryBackUp"); if (diary) { document.getElementById("textarea-edit").value = diary; } } GM_registerMenuCommand("load", loadHatenaDiary);
HTML5のクライアントサイドストレージ機能はキーバリューによるデータストアとSQLデータベースの2種類の仕様が検討されていますが、キーバリューはFirefox 3で既に実装されており、IEも8で実装される予定です。使い方もこのグリモンのように簡単なのでHTML 5の機能では比較的早期に普及しそうです。いつの間にか目立たないけど色々な場所で使われているようになりそうですね。