web-dev-qa-db-ja.com

IE8でJavaScript変数をダンプするにはどうすればよいですか?

IE8で調べる必要があるオブジェクトがあります。開発者ツールとconsole.log、Firebugで同等のもの。ただし、オブジェクトをログに出力すると:

console.log("Element: ", element);
console.log(element);

私は文字列を取得するだけです

LOG: Element: [object Object]

クリック可能で調査可能なダンプの代わりに。

Firebugのように、オブジェクトをログにダンプし、そのメンバーを調べることは可能ですか?

調べたい要素が非常に大きいため、ブラウザがクラッシュするため、自家製のdump()関数を使用できません。

70
Pekka 웃

私が役立ったと思うテクニックの1つを次に示します。

  • 開発者ツールバーを開く(F12キーを押す)
  • 「スクリプト」タブに移動します
  • [デバッグの開始]ボタンをクリックします
  • 次に、コンソールに「debugger」と入力してEnterキーを押します。これにより、ブレークポイントがトリガーされます。
  • [監視]サブタブに移動します
  • 「クリックして追加...」という行をクリックし、調べたい変数を入力します。変数はグローバルに利用可能でなければならないことに注意してください。
  • この時点で、ツリーのようなUIで変数を調べることができるはずです。
  • デバッグが完了したら、[続行]ボタンをクリックします(またはF5キーを押します)
101
Xavi

ちょっとしたトピック(DOM要素では機能しないため)ですが、 JSON.stringify(object )を使用すると便利ですかなり読みやすいオブジェクトのJSON文字列を取得します。

92
Andy

@Chrisは@Andyの答えを簡単な解決策でコメントしました。IEのコンソールにすべての詳細を出力するには、console.dir(myObj)を使用します。クリスありがとう!

13
René

厄介なコードを扱っていて、console.logが利用できない場合は、コンソールでこれを試してください:

out = []; for (i in your_object) { out.Push(i) } out.join("\n")
5
Cees Timmerman

Firebug-Lite を使用することをお勧めします。コンソールobjをラップし、ほとんどのfirebugコンソールのようにIEで結果を確認できます。このヘルプを希望します。

3
winladen

このタグをページに追加します。

<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>

そして、物事は機能します。

私のシステムで動作します。

注:この解決策を試してください。

1
Sharad

Xaviの優れた答えの図版:

enter image description here

1

既存のHMTL要素にダンプする

IE 11は1027文字の後にコンソール行を削除しています:-/ダンプする大きなオブジェクト(12,000文字)がある場合、既存のDIV-Oder TextArea-Elementにダンプしましたコンテンツをコピーできる場所。

var str = JSON.stringify(myObject);
$('#existing-element').text(str); // jQuery or
document.querySelector("#existing-element").innerHTML = str; // native JavaScript
0
dsuess

少しチャンキーですが、DOMオブジェクトに対して機能します:

 console.log( testNode.outerHTML.replace(testNode.innerHTML,"") ); 
0
brannigan

これは本当に古い質問であることは知っていますが、今、これに対する答えを探していました。 IEコンソール(あまり良くない、IMO)を使用することが絶対要件ではない場合、Firebug Liteの使用を検討するかもしれません( http://getfirebug.com/firebuglite )。これは完全なソリューションではなく、そのスクリプトを実稼働環境にプッシュしたくない場合があり、Firebugほどのフル機能ではありませんが、ピンチ時にはかなり良いですIEのようなローエンドブラウザで。

0
Carnix