Czy istnieje rejestrator konsoli dla IE? Próbuję zarejestrować kilka testów / potwierdzeń na konsoli, ale nie mogę tego zrobić w IE.
javascript
internet-explorer
internet-explorer-8
console
firebug
ground5hark
źródło
źródło
console.log()
działa tylko wtedy, gdy otwarte jest narzędzie deweloperskie IE (tak, IE jest kiepski). patrz stackoverflow.com/questions/7742781/…Odpowiedzi:
Dostęp do konsoli skryptów IE8 można uzyskać, uruchamiając „Narzędzia programistyczne” (F12). Kliknij kartę „Skrypt”, a następnie kliknij opcję „Konsola” po prawej stronie.
Z poziomu kodu JavaScript możesz wykonać jedną z następujących czynności:
Możesz również wyczyścić konsolę, wywołując
console.clear()
.UWAGA: Wygląda na to, że musisz najpierw uruchomić Narzędzia programistyczne, a następnie odświeżyć stronę, aby to zadziałało.
źródło
console.log()
ulegnie awarii. Zawsze chroń swoje połączenia za pomocąwindow.console && console.log('stuff');
Od wersji 8 Internet Explorer ma własną konsolę, podobnie jak inne przeglądarki. Jeśli jednak konsola nie jest włączona,
console
obiekt nie istnieje i wywołanieconsole.log
spowoduje zgłoszenie błędu.Inną opcją jest użycie log4javascript (pełne ujawnienie: napisane przeze mnie), który ma własną konsolę logowania, która działa we wszystkich popularnych przeglądarkach, w tym IE> = 5, plus opakowanie dla własnej konsoli przeglądarki, które pozwala uniknąć problemu niezdefiniowanego
console
.źródło
Niezwykle ważne, jeśli używasz console.log () w środowisku produkcyjnym:
jeśli w końcu wydasz
console.log()
polecenia do produkcji, musisz wprowadzić jakąś poprawkę dla IE - ponieważconsole
jest ona zdefiniowana tylko wF12
trybie debugowania.[oczywiście usuń ostrzeżenie (msg); oświadczenie po zweryfikowaniu, że działa]
Zobacz także „konsola” to niezdefiniowany błąd przeglądarki Internet Explorer, aby uzyskać informacje na temat innych rozwiązań i szczegółowych informacji
źródło
Istnieje Firebug Lite, który zapewnia wiele funkcji Firebug w IE.
źródło
Prosta podkładka IE7 i niższa, która zachowuje numerację linii dla innych przeglądarek:
źródło
W swojej książce „Secrets of Javascript Ninja” John Resig (twórca jQuery) ma naprawdę prosty kod, który będzie obsługiwał problemy z konsolą.log w różnych przeglądarkach. Wyjaśnia, że chciałby mieć komunikat dziennika, który działa we wszystkich przeglądarkach, a oto jak go zakodował:
źródło
}
brakuje w tym fragmencie. :)W przypadku IE8 lub obsługi konsoli ograniczonej do console.log (bez debugowania, śledzenia, ...) możesz wykonać następujące czynności:
Jeśli console LUB console.log undefined: Utwórz fikcyjne funkcje dla funkcji konsoli (śledzenie, debugowanie, dziennik, ...)
window.console = { debug : function() {}, ...};
W przeciwnym razie, jeśli zdefiniowano console.log (IE8) ORAZ console.debug (jakikolwiek inny) nie jest zdefiniowany: przekieruj wszystkie funkcje logowania do console.log, pozwala to zachować te dzienniki!
window.console = { debug : window.console.log, ...};
Nie jestem pewien co do obsługi assert w różnych wersjach IE, ale wszelkie sugestie są mile widziane.
źródło
Możesz użyć opakowania między przeglądarkami: https://github.com/MichaelZelensky/log.js
źródło
W przypadku starszej wersji IE (przed IE8) nie jest łatwo zobaczyć dziennik konsoli w IE Developer Toolbar, po spędzeniu godzin na badaniu i wypróbowaniu wielu różnych rozwiązań, w końcu następujący pasek narzędzi jest dla mnie świetnym narzędziem:
Główną zaletą tego jest zapewnienie konsoli dla IE6 lub IE7, dzięki czemu można zobaczyć jaki jest błąd (w logu konsoli)
źródło
Zawsze robiłem coś takiego:
i od tego momentu po prostu zawsze używaj log (...), nie bądź zbyt wyszukany używając konsoli. [ostrzeż | błąd | i tak dalej], po prostu zachowaj prostotę. Zwykle wolę proste rozwiązania niż wyszukane biblioteki zewnętrzne, zazwyczaj się to opłaca.
prosty sposób na uniknięcie problemów z IE (z nieistniejącym console.log)
źródło