J'ai un objet à examiner dans IE8 . J'ai essayé les outils de développement et console.log
, leur équivalent Firebug . Cependant, lorsque je produis l'objet dans le journal:
console.log("Element: ", element);
console.log(element);
Je ne reçois que la ficelle
LOG: Element: [object Object]
au lieu d'un vidage cliquable et examinable.
Est-il possible de vider un objet dans le journal et d’en examiner les membres, comme dans Firebug?
Je ne peux pas utiliser une fonction dump () faite à la maison, car l'élément que je souhaite examiner est tellement énorme que le navigateur va se bloquer sur moi.
Voici une technique que j'ai trouvée utile:
Un peu hors sujet (car cela ne fonctionnera pas pour les éléments DOM) mais j'ai trouvé pratique d'utiliser JSON.stringify (object ) pour obtenir une chaîne JSON pour l'objet qui soit très lisible.
@Chris a commenté @ 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 à du code malveillant et que console.log n'est pas disponible, essayez ceci dans la console:
out = []; for (i in your_object) { out.Push(i) } out.join("\n")
Une suggestion consiste à utiliser Firebug-Lite : Il enveloppe la console obj et vous pouvez voir le résultat dans IE comme dans la plupart des consoles Firebug . J'espère que cela vous aidera.
Ajouter cette balise dans votre page:
<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>
Et les choses vont marcher.
Cela fonctionne sur mon système.
Remarque: essayez cette solution.
Dump dans un élément HMTL existant
J'ai remarqué IE 11 supprime les lignes de la console après 1027 caractères: -/ Quand j'avais un gros objet à vider (12 000 caractères), je l'ai vidé dans un DIVARER TextArea-Element existant, de où je pourrais copier le contenu.
var str = JSON.stringify(myObject);
$('#existing-element').text(str); // jQuery or
document.querySelector("#existing-element").innerHTML = str; // native JavaScript
Un peu trapu mais cela fonctionne pour les objets DOM:
console.log( testNode.outerHTML.replace(testNode.innerHTML,"") );
Je sais que c'est une question VRAIMENT ancienne, mais je cherchais une réponse à cette question tout à l'heure. S'il n'est pas absolument nécessaire d'utiliser la console IE (ce qui n'est pas très bon, IMO), vous pouvez envisager d'utiliser Firebug Lite ( http://getfirebug.com/firebuglite ). Ce n'est pas une solution parfaite, et vous ne voudrez peut-être pas envoyer ce script dans votre environnement de production. Il n'est pas aussi complet que Firebug, mais il est plutôt bon si vous avez trop à faire avec un navigateur bas de gamme comme C'EST À DIRE.