Firebugを使って無名関数への参照を手に入れる

Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - 文殊堂の応用編

参照が欲しい無名関数の中の適当な所で、
breakpointを設定し、条件を↓にする。

(window.someFunction = arguments.callee),false


この無名関数が1度でも実行されれば、someFunctionで参照できるようになっている。


someFunction.toSource();
とかやると以下のようになる。

(function ($) {var map = new Array;$.Watermark = {ShowAll: function () {for (var i = 0; i < map.length; i++) {if (map[i].obj.val() == "") {map[i].obj.val(map[i].text);map[i].obj.css("color", map[i].WatermarkColor);} else {map[i].obj.css("color", map[i].DefaultColor);}}}, HideAll: function () {for (var i = 0; i < map.length; i++) {if (map[i].obj.val() == map[i].text) {map[i].obj.val("");}}}};$.fn.Watermark = function (text, color) {if (!color) {color = "#aaa";}return this.each(function () {var input = $(this);var defaultColor = input.css("color");map[map.length] = {text: text, obj: input, DefaultColor: defaultColor, WatermarkColor: color};
function clearMessage() {if (input.val() == text) {input.val("");}input.css("color", defaultColor);}


function insertMessage() {if (input.val().length == 0 || input.val() == text) {input.val(text);input.css("color", color);} else {input.css("color", defaultColor);}}

input.focus(clearMessage);input.blur(insertMessage);input.change(insertMessage);insertMessage();});};})


$(document).ready()周りの動作確認とかに便利なんじゃないかと思う。
課題はminifyされたJavaScriptでは使えないこと。