2010-03-12 6 views
36

J'ai l'habitude de déboguer JavaScript dans Chrome ou Firefox simplement parce que leurs outils de développement intégrés sont beaucoup plus propres que ceux d'IE. IE8 est venu avec les outils de développement plus polis, mais ils ne sont pas complètement à la hauteur. J'aime pouvoir parcourir le code comme si j'étais dans Visual Studio, et c'est plutôt sympa avec IE, en essayant de faire un simple fichier console.log sur un objet que j'ai dans Firefox/Chrome/etc. Je peux réellement explorer cet objet.Console.log dans IE sur un objet vient de sortir [objet objet]

Dans IE, la console est fournir en sortie simplement ce qui suit:

LOG: [object Object]

Est-il possible de descendre dans cet objet dans IE comme dans Chrome/Firefox/etc.?

+3

duplication possible de [Comment vider JavaScript vars dans IE8?] (Http://stackoverflow.com/questions/1956384/how-do-i-dump-javascript-vars-in-ie8) – fresskoma

+0

http://stackoverflow.com/questions/1306232/how-to-debug-javascript-with-ie-8 – ColacX

Répondre

11

Peut-être que vous pouvez essayer ce que Xavi a suggéré ici: How do I dump JavaScript vars in IE8?

+0

Ouais, c'est génial pour le débogage, mais pas complètement ce que je cherchais. – StephenPAdams

+0

Pourriez-vous ajouter la réponse à vos questions? D'autres sites descendent, changent, etc., et ne peuvent pas être modifiés. – mikemaccana

51

Vous pouvez essayer:

console.log(JSON.stringify(foobarObject)); 
+0

Peut-être que je comprends mal, mais si je tape "console.log ('foo')" dans le champ de saisie au en bas de la fenêtre de la console, la console (zone de texte ci-dessus) dit: >> console.log ('foo') undefined –

+0

Il devrait aussi avoir le message "LOG: foo". Le fichier console.log renvoie undefined, ce qui est également ce qu'il affiche dans la console. Dans IE9 qui a été modifié pour ne pas afficher les résultats non définis dans la console. – Andy

29

Utilisation:

console.dir(obj); 

Cette volonté vous donnera toutes les propriétés de l'objet aussi dans IE.

+8

Remarque: console.dir n'affiche que le premier niveau de propriétés. Ainsi, lorsque vous créeriez var a = {a: 'b', b: {a: 'b', b: 'c'}}, le résultat de console.dir (a) serait: { \t "b", \t b: [objet objet] } –

+0

Oui, pas si utile pour les objets qui sont des classes, etc – brianlmerritt

0

Ajoutez l'objet à regarder et vous pouvez le voir et l'analyser complètement à partir du panneau de la montre.

+0

Fonctionne uniquement si l'objet est dans la portée globale. –