Question

J'ai un objet que je dois examiner dans IE8. J'ai essayé les outils de développement et console.log, leur équivalent Firebug. Cependant, quand je sortie l'objet dans le journal:

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

Je ne reçois que la chaîne

LOG: Element: [object Object]

au lieu d'un cliquable, décharge examinable.

Est-il possible de jeter un objet dans le journal et d'examiner ses membres, comme dans Firebug?

Je ne peux pas utiliser une fonction vidage maison () parce que l'élément que je veux examiner est si énorme le navigateur se bloque sur moi.

Était-ce utile?

La solution

Voici une technique que j'ai trouvé utile:

  • Ouvrez la barre Developer Tool (hit F12)
  • Allez à l'onglet "Script"
  • Cliquez sur le bouton "Start Debugging"
  • Ensuite, tapez « debugger » dans la console et appuyez sur Entrée. Cela devrait déclencher un point de rupture.
  • Allez dans le sous-onglet "Regarder"
  • Cliquez sur la ligne qui dit: « Cliquez pour ajouter ... » et entrez une variable que vous souhaitez examiner. Notez que la variable doit être disponible au niveau mondial.
  • À ce stade, vous devriez être en mesure d'examiner votre variable avec une interface utilisateur arborescente
  • Une fois que vous avez terminé le débogage cliquez sur le bouton Continuer (ou appuyez sur F5)

Autres conseils

Un peu hors sujet (car il ne fonctionnera pas pour les éléments DOM) mais je l'ai trouvé très pratique d'utiliser le JSON.stringify (objet ) pour obtenir une chaîne JSON pour l'objet qui est assez lisible.

a commenté @ @ Chris réponse Andy avec la solution simple: Utilisez console.dir(myObj) pour obtenir tous les détails imprimés dans la console dans IE. Merci Chris!

Si vous avez affaire avec le code méchant et console.log n'est pas disponible, essayez ceci dans la console:

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

Ajouter cette balise dans votre page:

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

Et les choses fonctionnent.

Son travail sur mon système.

Note:. Ne pas essayer cette solution

Je sais que c'est une question vraiment vieux, mais je cherchais une réponse à tout à l'heure. Si ce n'est pas une exigence absolue d'utiliser la console IE (ce qui est très bon, l'OMI), alors vous pouvez envisager d'utiliser Firebug Lite ( http://getfirebug.com/firebuglite ). Ce n'est pas une solution parfaite, et vous voudrez peut-être de ne pas pousser ce script vers votre environnement de production, et il est pas aussi complet présenté comme Firebug, mais il est assez bon dans un pincement quand vous devez beaucoup autour avec un navigateur bas de gamme comme IE.

Un peu trapu, mais cela fonctionne pour les objets DOM:

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

Dump dans un HMTL-élément existant

J'ai remarqué IE 11 est dépouillant les lignes de la console après 1027 caractères: - / Quand j'ai eu un gros objet à vider (12000 caractères) Je l'ai jetés dans un où je pourrais DIV- oder TextArea-élément existant, copiez le contenu.

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

console.log (element.toString ()) pourrait être votre ami ici ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top