せめてPRE要素で整形しよう。複数のソースを観ることもあるだろうからTITLE要素もつけてやろう。それから、シリアライズ後の greater than とかを全部置換しているけれど、テキストノードにしてappendChildすると良さげ。DOMのソース?なんだから、DOMを利用しよう。
javascript:
(function(){
var d = window.open().document,
pre = d.createElement("PRE"),
txt = d.createTextNode(
(new XMLSerializer).serializeToString(document));
d.title = ["Dynamic source of", document.title].join(" ");
d.body.appendChild(pre);
pre.appendChild(txt);
})();
というか何だよXMLSerializerって。>もず DOM3はどうしたんだろ。そもそもXMLSerializerって名前が変じゃないか?