SNSやブログで力作の日記を書いて、いざ投稿しようと思ったら間違って×ボタンを押して閉じてしまったり、リンクをクリックして別ページに遷移してしまって、せっかく書いた内容がパーになってしまったというような経験は無いでしょうか?
昔「フォームにリセットボタンは必要か」でも書きましたが、自分の行った作業が無駄になってしまうと多かれ少なかれフラストレーションが溜まります。毎日更新していた日記でも、「もう一度書き直す元気が無いし、また明日書こう」といって一旦間を空けてしまうと、それからずっと書かなくなってしまったりするかもしれません。
ウェブサイトをサービスとして提供する場合、そのような「利用を止められてしまうきっかけ」は出来るだけ少ないに越したことはありません。
そこで、重要なページの場合には、変更が保存されていない状態でウインドウを閉じたり、ページ遷移しようとした場合に確認ダイアログを出して、保存しなくて良いか確認してあげるようにしましょう。
(Firefox3の場合のダイアログの例)
このようなウインドウを表示するためには、JavaScriptの"onBeforeUnload"イベントを利用します。









