ページ内のJavaScriptを表示するJavaScript

Tweener Example(XHTML)用にサクッと書いてみた。
既出ネタかもしれないけど。

<script type="text/javascript">
//<![CDATA[
(function(){
	var scripts = document.getElementsByTagName('script');
	var code = [];
	for (var i=0,len=scripts.length-1;i<len;i++) {
		var s = scripts[i];
		var tag = '';
		if(!!s.src) {
			tag = '<a href="' + s.src + '">' + s.src + '</a>';
		} else {
			tag = '<pre>' + (!!s.text ? s.text : s.innerHTML).replace(/\/\/(<!\[CDATA\[|\]\]>)/g,'') + '</pre>';
		}
		code.push(tag);
	}
	document.write(code.join('<hr />'));
})();
//]]>
</script>
  1. ページ内のscriptタグを取得。
  2. srcがある場合はそれをリンクに
  3. そうでない場合はtextをpreタグ内に流し込み
  4. Safari2でも動くようにちょこっと修正

CDATAがあると上手く動かないっぽかったから適当に除去。適当すぎるので、たぶんあとで修正する。たぶん。