JavaScriptでDebugScreenを表示する

デモ、IEかFirefox
http://la.ma.la/misc/js/debugscreen/

IEとFirefoxではwindow.onerrorを設定するとJavaScript全体のエラーを補足できます。さらに返値をtrueにすると標準のエラーダイアログを抑制できます。

簡単なサンプルはこんな感じ。
window.onerror = function(mes,file,num){
    alert([
        "file    : " + file,
        "line    : " + num,
        "message : " + mes
    ].join("\n"));
    return true;
}

あまり細かい情報を取得できるわけではないので、例外処理に使ったりはできないのですが、エラーメッセージを親切にしたりできるかもしれません。

そんなわけで、ファイル名と行番号わかるなら自分自身をXMLHttpRequestで受信してエラー行付近を切り出したりできるんじゃないかと思って適当に作ってみた。arguments.callee.callerを使うと関数の呼び出し元がわかるんだけどwindow.onerrorの呼び出し元がIEじゃないとわからないようだった。

あんまり役に立たないような気もするんだけどCatalystとかSledgeとかCGI::ApplicationとかでDebugScreenがブームになってたので作ってみた。遅いけど。


WriteBacks

とうとうJavaScriptでも流行のDebugScreenが

JavaScriptでDebugScreenを表示する JavaScriptでDebugScreen、その2 便利そうなのでメモ ...

Posted by 101号室より愛をこめて at 2006/02/12 (Sun) 17:08:10

Posted by 不動産投資の収入計画 at 2008/10/21 (Tue) 14:33:18
TrackBack ping me at
http://la.ma.la/blog/diary_200601150700.trackback
Post a comment

writeback message: Ready to post a comment.







spam yoke. nanimo ireruna.