無慈悲な確認ダイアログ

onbeforeunload を使えば、ウィンドウを閉じるときに、確認ダイアログを出すことが出来る。
返り値が、ダイアログに表示されるメッセージだ。

window.onbeforeunload = function() {
    return "編集中ですが、終了しますか?";
};

ブログの編集画面など、誤って閉じてしまうと、
精神的ダメージが大きなページで使われていることが多い。

onbeforeunload のタイミングで、
window.close を setTimout で呼んであげると、
確認ダイアログが閉じた後、ウィンドウを閉じることができるので、
確認しておきながら、問答無用でウィンドウを閉じる無慈悲なダイアログを実装することが出来る。

window.onbeforeunload = function() {
    setTimeout(function(){
        window.onbeforeunload = null;
        window.close();
    },1);
    return "編集中ですが、終了しますか?";
};

無慈悲なサンプル