| Цитата: | 
	| А "var f = arguments.callee.fragment;" внутри while писать? Нет. А значит в некоторых случаях эта (и не только) строка сработает зря. | 
	
я имел в виду так:
var callback = function(noda) {
        if (noda.nodeValue.indexOf('youtube.com') > -1) {
            var v = noda.nodeValue.replace(arguments.callee.regExp, '<a href="$1">$1</a>');
            if (v != noda.nodeValue) {
                var div = arguments.callee.div;
                div.innerHTML = v;
                var f = arguments.callee.fragment;
                while (div.firstChild)
                    f.appendChild(div.firstChild);
                noda.parentNode.replaceChild(f, noda);
            }
        }
    };
если я не вижу ситуаций, когда (v != noda.nodeValue) && (! div.firstChild), скажи