2010-03-12 8 views
36

Sono abituato a eseguire il debug di JavaScript in Chrome o Firefox solo perché gli strumenti di sviluppo incorporati sono molto più puliti di IE. IE8 è arrivato con gli Strumenti per gli sviluppatori più lucidi, ma non sono ancora del tutto all'altezza. Mi piace essere in grado di scorrere il codice come se fossi in Visual Studio, e questo è piuttosto carino con IE, comunque, quando provo a fare un semplice console.log su un oggetto che ho, in Firefox/Chrome/etc. Posso effettivamente esplorare quell'oggetto.Console.log in IE su un oggetto appena immesso [oggetto oggetto]

In IE, la console è semplicemente l'output seguente:

LOG: [object Object]

Esiste un modo per visualizzare in dettaglio l'oggetto in IE, come in Chrome/Firefox/ecc.?

+3

possibile duplicato di [Come faccio a scaricare vars JavaScript in 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

risposta

11

Forse si può provare quello che Xavi suggerito qui: How do I dump JavaScript vars in IE8?

+0

Sì, questo è ottimo per il debug, ma non completamente quello che stavo cercando. – StephenPAdams

+0

Puoi aggiungere la risposta alle tue domande? Altri siti non funzionano, cambiano, ecc. E non possono essere modificati. – mikemaccana

51

Si potrebbe desiderare di provare:

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

Forse sto capendo questo sbagliato ma se digito "console.log ('foo')" nel campo di voce al nella parte inferiore della finestra della console, la console (area di testo sopra) dice: >> console.log ('foo') indefinito –

+0

Dovrebbe essere presente anche il messaggio "LOG: foo". console.log restituisce undefined che è ciò che produce anche nella console. In IE9 è stato modificato per non mostrare risultati non definiti nella console. – Andy

29

Usa:

console.dir(obj); 

Questa volontà vi darà tutte le proprietà dell'oggetto anche in IE.

+8

Nota: console.dir mostra solo il primo livello di proprietà. Quindi quando crei var a = {a: 'b', b: {a: 'b', b: 'c'}}, il risultato di console.dir (a) sarebbe: { \t a: "b", \t b: [oggetto oggetto] } –

+0

Sì, non è utile per gli oggetti che sono classi, ecc. – brianlmerritt

0

Aggiungere l'oggetto da guardare e visualizzarlo e analizzarlo completamente dal pannello dell'orologio.

+0

Funziona solo se l'oggetto si trova nell'ambito globale. –