alert(hoge)すると[object Object]って言われてどういうことだよとなりますが、var_dump()みたいに配列やオブジェクトの中身を出力してくれるライブラリがないかと探してみたらprettyPrint.jsというものがみつかりました。
https://github.com/jamespadolsey/prettyPrint.js
変数とDOMに対して使ってみます。
なお、変数の例はこちらのをそのまま借りています。
prettyってわりにソースはちょっとあれなかんじですが、見事に出力できました。
なお、[DEPTH REACHED]ってなってるところは本来ならクリックすると更に詳細を表示することが出来ます。
さて、prettyPrintの解説記事を見て回ったのですがオプションについて書いてる記事がついぞひとつも見つかりませんでした。
第二引数を渡すことで挙動の変更が可能です。
forceObjectは返り値を強制的にObjectにするみたいなんですが意味がよくわかりませんでした。
expandedはfalseにすると詳細を表示しません。
maxDepthで内部構造を掘り下げる深度を調整できます。
いずれも初期状態では隠れているだけで、各値をクリックすることで詳細を見ることができます。
stylesは出力されるテーブルのスタイルを変更することができます。
例でやってるbackgroundImageは、デフォルトだといちいちインライン画像を作ってしまうためキャンセルさせています。
まあ、所詮開発時にしか使わないはずなのであんまりオプションを指定してもしょうがないんですがね。
ちなみにconsole.dir()のことは秘密だぞ。
https://github.com/jamespadolsey/prettyPrint.js
変数とDOMに対して使ってみます。
なお、変数の例はこちらのをそのまま借りています。
<html>
<head>
<script src="prettyprint.js"></script>
</head>
<body>
<div id="hoge" title="title">text<span>inner</span></div>
<div id="output"></div>
<div id="output2"></div>
<script type="text/javascript">
var hoge =document.getElementById('hoge');
document.getElementById('output').appendChild(prettyPrint(hoge));
var config = {
expanded :true,
forceObject: true,
maxDepth: 2,
styles: {
'default': {
th: {
backgroundImage:false
}
}
}
};
var test = {
_arr : ["pretty","print"],
_rear : [["pretty","print"]],
_reobj : { "a":"pretty",
"b":{"b1" : "print"}},
_func : function(_str){
alert(_str);
return;
}
};
document.getElementById('output2').appendChild(prettyPrint(test, config));
</script>
</body>
</html>
出力は以下。| DOMElement | |
|---|---|
| tag | <div> |
| id | hoge |
| innerHTML | text<span>inner</span> |
| Object | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| key | value | ||||||||
| _arr |
|
||||||||
| _rear |
|
||||||||
| _reobj |
|
||||||||
| _func |
|
||||||||
prettyってわりにソースはちょっとあれなかんじですが、見事に出力できました。
なお、[DEPTH REACHED]ってなってるところは本来ならクリックすると更に詳細を表示することが出来ます。
さて、prettyPrintの解説記事を見て回ったのですがオプションについて書いてる記事がついぞひとつも見つかりませんでした。
第二引数を渡すことで挙動の変更が可能です。
forceObjectは返り値を強制的にObjectにするみたいなんですが意味がよくわかりませんでした。
expandedはfalseにすると詳細を表示しません。
maxDepthで内部構造を掘り下げる深度を調整できます。
いずれも初期状態では隠れているだけで、各値をクリックすることで詳細を見ることができます。
stylesは出力されるテーブルのスタイルを変更することができます。
例でやってるbackgroundImageは、デフォルトだといちいちインライン画像を作ってしまうためキャンセルさせています。
まあ、所詮開発時にしか使わないはずなのであんまりオプションを指定してもしょうがないんですがね。
ちなみにconsole.dir()のことは秘密だぞ。
PR
トラックバック
トラックバックURL: