Jak zrzucić var JavaScript w IE8?

Mam obiekt, który muszę zbadać w IE8. Próbowałem narzędzi programistycznych i console.log, ich odpowiednika Firebug. Jednak, gdy wypisuję obiekt do dziennika:

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

I only get the string

LOG: Element: [object Object]

Zamiast klikalnego, sprawdzalnego zrzutu.

Czy możliwe jest zrzut obiektu do dziennika i zbadanie jego członków, jak w Firebug?

Nie mogę użyć domowej funkcji dump (), ponieważ element, który chcę zbadać, jest tak ogromny, że przeglądarka się na mnie zawiesi.

Author: Josh Unger, 2009-12-24

11 answers

Oto jedna technika, którą uznałem za pomocną:

  • Otwórz pasek narzędzi programisty (naciśnij F12)
  • Przejdź do zakładki "skrypt"
  • Kliknij przycisk "Rozpocznij debugowanie"
  • Następnie wpisz "debugger" w konsoli i naciśnij enter. To powinno wywołać punkt przerwania.
  • Przejdź do zakładki" Obserwuj "
  • Kliknij wiersz z napisem " Kliknij, aby dodać..."i wprowadź zmienną, którą chcesz zbadać. Należy pamiętać, że zmienna musi być dostępna globalnie.
  • w tym momencie ty powinno być w stanie zbadać zmienną za pomocą drzewiastego interfejsu
  • Po zakończeniu debugowania kliknij przycisk Kontynuuj (lub naciśnij F5)
 101
Author: Xavi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-15 18:52:24

Trochę off topic (ponieważ nie będzie działać dla elementów DOM), ale uznałem, że przydatne jest użycie JSON.stringify (object ), aby uzyskać ciąg JSON dla obiektu, który jest dość czytelny.

 92
Author: Andy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-30 21:44:48

@Chris skomentował odpowiedź @ Andy z prostym rozwiązaniem: użyj console.dir(myObj), aby uzyskać wszystkie szczegóły wydrukowane w konsoli w IE. Dzięki Chris!

 13
Author: René,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-10 18:53:08

Jeśli masz do czynienia z paskudnym kodem i konsolą.log nie jest dostępny, spróbuj tego w konsoli:

out = []; for (i in your_object) { out.push(i) } out.join("\n")
 5
Author: Cees Timmerman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-02 11:57:42

Jedną z sugestii jest użycie Firebug-Lite : Otacza konsolę obj i widać wynik w IE jak w większości konsoli firebug. Mam nadzieję, że to pomoże.

 3
Author: winladen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-11 19:27:58

Dodaj ten Tag na swojej stronie:

<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>
I wszystko się uda. Działa na moim systemie.

Uwaga: wypróbuj to rozwiązanie.

 1
Author: Sharad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-15 06:12:56

Obrazkowa wersja doskonałej odpowiedzi Xaviego:

Tutaj wpisz opis obrazka

 1
Author: Frison Alexander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-21 11:49:05

Wiem, że to naprawdę stare pytanie, ale właśnie szukałem odpowiedzi na to pytanie. Jeśli nie jest bezwzględnym wymogiem używania konsoli IE (co IMO nie jest zbyt dobre), możesz rozważyć użycie Firebug Lite (http://getfirebug.com/firebuglite). nie jest to idealne rozwiązanie i możesz nie chcieć wypychać tego skryptu do środowiska produkcyjnego, i nie jest tak w pełni funkcjonalny jak Firebug, ale jest całkiem dobry w szczypcie, gdy musisz dużo wokół z low-end przeglądarka jak IE.

 0
Author: Carnix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-21 15:19:19

Trochę masywny, ale działa dla obiektów DOM:

 console.log( testNode.outerHTML.replace(testNode.innerHTML,"") ); 
 0
Author: brannigan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-15 17:21:23

Zrzut go do istniejącego elementu HMTL

Zauważyłem, że IE 11 usuwa linie konsoli po 1027 znakach :-/ Kiedy miałem duży obiekt do zrzutu (12,000 znaków) wrzuciłem go do istniejącego elementu div-oder TextArea, skąd mogłem skopiować zawartość.

var str = JSON.stringify(myObject);
$('#existing-element').text(str); // jQuery or
document.querySelector("#existing-element").innerHTML = str; // native JavaScript
 0
Author: dsuess,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-15 09:52:38

Konsola.log(element.toString ())..

 -1
Author: RyanWilcox,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-24 02:46:47