Frage

Ich habe ein Objekt, das ich in IE8 untersuchen müssen. Ich versuchte, die Entwickler-Tools und console.log, deren Äquivalent Firebug. Allerdings, wenn ich Ausgang das Objekt in das Protokoll:

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

erhalte ich nur die Zeichenfolge

LOG: Element: [object Object]

anstelle eines klickbaren, untersuchbar Dump.

Ist es möglich, ein Objekt in dem Log-Dump und seine Mitglieder zu untersuchen, wie in Firebug?

Ich kann nicht ein selbstgemachtes dump () Funktion verwenden, da das Element, das ich untersuchen wollen so riesig ist der Browser auf mich abstürzen.

War es hilfreich?

Lösung

Hier ist eine Technik, die ich nützlich gefunden habe:

  • Öffnen Sie das Developer Tool Bar (Hit F12)
  • Gehen Sie auf die "Script" Registerkarte
  • Klicken Sie auf "Start Debugging" Taste
  • Weiter, geben Sie „Debugger“ in die Konsole und drücken Sie die Eingabetaste. Dies sollte eine Bruchstelle auslösen.
  • Gehen Sie auf die "Watch" Unterregister
  • Klicken Sie auf die Zeile, die sagt: „Klicken Sie ... hinzufügen“ und eine Variable eingeben Sie möchten untersuchen. Beachten Sie, dass die Variable muss global verfügbar sein.
  • An diesem Punkt sollten Sie in der Lage sein, Ihre Variable mit baumartigen UI
  • zu prüfen,
  • Wenn Sie fertig sind, klicken Sie auf Weiter Debuggen (oder drücken Sie F5)

Andere Tipps

Ein Thema abbiß (da es nicht Arbeit für DOM-Elemente), aber ich gefunden habe es praktisch, die JSON.stringify (Objekt ) ein JSON-String für das Objekt zu erhalten, die ziemlich lesbar ist.

@ Chris kommentiert @ Andy Antwort mit der einfachen Lösung: Verwenden Sie console.dir(myObj) alle Details in der Konsole im Internet Explorer ausgedruckt zu bekommen. Dank Chris!

Wenn Sie es zu tun mit fiesen Code und console.log nicht verfügbar ist, versuchen Sie dies in der Konsole:

out = []; for (i in your_object) { out.push(i) } out.join("\n")

Ein Vorschlag ist, Firebug-Lite : Es wickelt die Konsole obj und Sie können das Ergebnis in IE wie in den meisten der Firebug-Konsole sehen. Hoffe, dass diese Hilfe.

Diesen Tag in Ihrer Seite ein:

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

Und die Dinge funktionieren.

Die Arbeit an meinem System.

. Hinweis: Do diese Lösung versuchen

Eine bildliche Version von Xavi des ausgezeichneten Antwort:

Ich weiß, das ist eine wirklich alte Frage, aber ich war auf der Suche nach einer Antwort auf diese jetzt gerade. Wenn es nicht eine absolute Voraussetzung ist die IE-Konsole zu verwenden (was nicht sehr gut ist, IMO), dann könnten Sie Firebug Lite prüfen, mit ( http://getfirebug.com/firebuglite ). Es ist keine perfekte Lösung, und Sie sollen nicht das Skript drücken, um die Produktionsumgebung, und es ist nicht so voll wie Firebug vorgestellt, aber es ist ziemlich gut in einer Prise, wenn Sie zu viel um mit einem Low-End-Browser wie IE.

Ein bisschen klobig, aber es funktioniert für DOM-Objekte:

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

Dump es in eine bestehende HMTL-Element

Ich habe bemerkt, IE 11 Abstreifen Konsolenlinien nach 1027 Zeichen: - / Wenn ich ein großes Objekt zu dump (12.000 Zeichen) hatte abgeladen ich es in eine bestehenden DIV- oder TextArea--Elemente, von wo aus ich den Inhalt kopieren könnte.

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

console.log (element.toString ()) könnte Ihr Freund hier ...

sein
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top