Debugowanie JavaScript w IE7

Muszę debugować JavaScript w Internet Explorer 7.

Niestety, jego domyślny debugger nie dostarcza mi zbyt wielu informacji. Informuje mnie o stronie, na której pojawił się błąd (nie o konkretnym skrypcie) i daje mi numer linii. Nie wiem, czy to ma związek z moim problemem.

Byłoby miło, gdyby można było zawęzić błąd do numeru linii w konkretnym skrypcie(jak Firebug can).

Czy istnieje dodatek do debugowania JavaScript w IE7 tak jak Firebug robi w Firefox?

Dziękuję!

Zobacz też:

Czy IE7 ma "tryb dewelopera" lub wtyczkę taką jak Firefox / Chrome / Safari?

Author: Community, 2008-12-12

18 answers

Web Development Helper jest bardzo dobry.

Pasek narzędzi IE Dev jest często pomocny, ale niestety nie debuguje skryptów

 90
Author: Bob,
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-01-20 10:16:47

Prawda jest taka: jedynym dobrym debugerem dla IE jest Visual Studio.

Jeśli nie masz pieniędzy na prawdziwą ofertę, pobierz za darmo Visual Web Developer 2008 Express EditionVisual Web Developer 2010 Express Edition . O ile pierwsza pozwala na podłączenie debuggera do już działającego IE, druga nie (przynajmniej poprzednie wersje na to nie pozwalały). Jeśli tak jest nadal, sztuką jest stworzenie prostego projektu z jedną pustą stroną internetową, "uruchom" go (to uruchamia przeglądarkę), teraz przejdź do strony, którą chcesz debugować i Rozpocznij debugowanie.

Microsoft rozdaje pełne Visual Studio na różne wydarzenia, zwykle z ograniczeniami licencyjnymi, ale pozwalają majstrować w domu. Sprawdź ich harmonogram i listę gratisów.

Kolejna podpowiedź: najpierw spróbuj debugować swoją aplikację z innymi przeglądarkami. Odniosłem wielki sukces z Operą. Jakoś Emulacja IE przez Operę i jej błędy była dość bliska, ale debugger jest dużo lepiej.

 40
Author: Eugene Lazutkin,
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-02 00:07:30

Możesz spróbować microsoft script debugger jest dość stary, ale jest bardzo przydatny w tym sensie, że jeśli natkniesz się na jakikolwiek błąd javascript, debugger pojawi się, aby pokazać, która linia jest brudząca. czasami może się irytować, gdy robisz normalne surfowanie, ale możesz wyłączyć, jeśli.

Oto dobry startup, jak korzystać z tego narzędzia. Jak: debugować JavaScript w Internet Explorerze

 32
Author: melaos,
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-01-22 13:13:23

Znalazłem DebugBar .

Nie tak dobry jak Firebug, ale blisko.

 27
Author: alex,
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-04-18 14:40:06

W IE7 możesz wywołać firebug lite dla bieżącej strony, wklejając następujące elementy w pasku adresu:

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

Zobacz http://getfirebug.com/lite.html .

 25
Author: Marc,
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-01-16 21:55:06

Microsoft Script Editor jest rzeczywiście opcją, a z tych, które wypróbowałem jeden z bardziej stabilnych -- debugger w IE8 jest świetny, ale z jakiegoś powodu za każdym razem, gdy uruchamiam narzędzia programistyczne, zajmuje IE8 trochę czasu, czasami nawet minutę, aby sprawdzić drzewo DOM mojej strony. A potem wydaje się, że chce to zrobić przy każdym odświeżaniu strony, co jest torturą.

Ty możesz sprawdzić zawartość zmiennych w Microsoft Script editor: Jeśli zajrzysz pod Debug > Window możesz włączyć na lokalnych zmiennych kontroli, oglądania itp.

Druga opcja, Visual Web Dev, choć nieporęczna, działa dość dobrze. Aby go skonfigurować, zrób to (skradzione z tutaj):

  1. debugowanie powinno być włączone w IE. Przejdź do Narzędzia > Opcje internetowe > zaawansowane i sprawdź, czy Wyłącz debugowanie skryptów (Internet Explorer) nie jest zaznaczone i wyświetla powiadomienie o każdym błędzie skryptu jest zaznaczone
  2. Tworzenie nowego pustego projektu www wewnątrz VWD
  3. kliknij prawym przyciskiem myszy witrynę w Eksploratorze rozwiązań w prawym górnym rogu, przejdź do Przeglądaj i upewnij się, że domyślna przeglądarka jest ustawiona na IE (rozsądnie jest założyć, że jeśli jesteś programistą internetowym, IE jest , a nie Twoją domyślną przeglądarką, w takim przypadku nie będzie to domyślna.. domyślnie)
  4. naciśnij F5, IE otworzy się. Przejdź do strony, którą chcesz debugować.
  5. VWD otworzy się za każdym razem, gdy wystąpi błąd skryptu lub gdy ustawisz punkt przerwania w jednym z plików JS. Debug precz!

UPDATE: przy okazji, jeśli doświadczasz takich samych spowolnień jak ja z przyzwoitym debugerem IE8, istnieje obejście-jeśli napotkasz lub sprawisz, że IE napotkasz błąd, który wyskakuje z okna dialogowego "czy chcesz debugować" i naciśniesz tak, debugger pojawi się prawie natychmiast. Wygląda na to ,że jeśli przejdziesz "prosto" do trybu debugowania, narzędzia Dev nigdy nie sprawdzają DOM. Dopiero jak trafisz na F12 to tak robi.

 7
Author: dmkc,
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-04-22 18:28:01

IE8 ma znacznie ulepszone narzędzia programistyczne. Do tego czasu najlepiej najpierw napisać javascript dla Firefoksa, a następnie debugować IE za pomocą instrukcji alert ().

 3
Author: Joel Coehoorn,
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
2008-12-12 02:17:13

Microsoft Script Editor może być używany do debugowania Javascript w IE. Jest mniej błędny niż Microsoft Script Debugger, ale ma tę samą podstawową funkcjonalność, która niestety jest prawie ograniczona do przechodzenia przez wykonanie. Nie mogę sprawdzać zmiennych ani innych przydatnych rzeczy. Ponadto jest dostarczany tylko z Office XP / 2003 z jakiegoś dziwacznego powodu. Więcej informacji tutaj jeśli jesteś gra.

Pobrałem Visual Web Developer 2008 Express Edition wspomniany przez Eugene Lazutkin, ale jeszcze nie miałem okazji spróbować. Polecam wypróbowanie tego przed edytorem skryptów/debuggerem.

 3
Author: Kenny,
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
2008-12-12 03:13:46

Nie jest to pełny debuger, ale moje rozszerzenia DP_DEBUG zapewniają pewną (myślę) użyteczną funkcjonalność i działają w IE, Firefoksie i operze (9+).

Można "zrzucać" wizualne reprezentacje złożonych obiektów JavaScript (nawet obiektów systemowych), wykonywać uproszczone rejestrowanie i timing. Komponent zapewnia proste metody włączania lub wyłączania go, dzięki czemu można pozostawić debugger na miejscu do pracy produkcyjnej, jeśli chcesz.

DP_Debug

 3
Author: Jim Davis,
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-26 12:36:04

Narzędzia programistyczne IE9 działały dla mnie. Wystarczy ustawić menu" Tryb przeglądarki " na IE7.

 2
Author: Peter Tseng,
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-02-23 02:08:24

Hej natknąłem się na ten sam problem i znalazłem to aplikacja IETESTER . Jest to dość niesamowite, to aplikacja,która ma IE 5.5, 6, i 7 w pakiecie. Nie ma znaczenia, jaką wersję IE masz obecnie. Dzięki temu możesz mieć wiele wersji obok siebie.

Jeśli włączysz debugowanie javascript w opcjach IE i masz zainstalowany Visual Studio, możesz nawet debugować javascript w VS ze wszystkimi dostępnymi opcjami debugowania (zegarki, warunkowe punkty przerwania , itd.)

Jeśli chcesz rozpocząć debugowanie przed wystąpieniem błędu, po prostu musisz umieścić linię

debugger;

Do kodu JS, a to spowoduje przejście do VS, aby rozpocząć debugowanie po tej instrukcji.

To jest absolutnie niesamowite dla mnie do testowania kompatybilności wstecznej dla kodu JS.

 1
Author: Jose,
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-07-19 16:22:16

Użyj Internet Explorer 8. Następnie wypróbuj narzędzie programistyczne.. Można debugować w oparciu o IE 7 również w trybie zgodności

 0
Author: Joberror,
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
2010-01-07 21:23:41
 0
Author: slf,
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-18 12:58:02

Odpowiedź jest prosta.

  1. Pobierz Internet Explorer 9
  2. naciśnij F12, aby załadować narzędzia programistyczne
  3. Przełącz tryb przeglądarki na IE7

przełączanie trybu przeglądarki na IE9

 0
Author: desbest,
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-10-08 14:26:07

Uruchamianie kodu za pomocą narzędzia do analizy statycznej Javascript, takiego jak JSLint, może wychwycić typowe błędy IE7, takie jak końcowe przecinki w definicjach obiektów.

 0
Author: Ian Mackinnon,
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-05-20 19:17:37

Narzędzia programistyczne IE8 są w stanie przełączyć się w tryb IE7 Tutaj wpisz opis obrazka

 0
Author: Viktor,
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-06-11 11:28:26

Jeśli nadal musisz debugować IE 7, tryb emulacji IE 11 działa całkiem dobrze.

Przejdź do menu: Dev Tools, następnie do emulacji i ustaw go. Podaje również informacje o linii błędu.

 0
Author: Erdal G.,
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-10-19 11:57:56

Następujące narzędzia działają dla mnie świetnie:

1) http://www.debugbar.com/

Zapewnij wygodny interfejs użytkownika z funkcjami takimi jak source, style, DOM, Script, HTML check. Pokazuje również rzeczywisty błąd w pliku JS (który wiersz, który plik).

2) http://www.my-debugbar.com/wiki/CompanionJS/Installing

Dostarczyć konsolę dla IE6 lub IE7 (która początkowo nie obsługuje)

  • zrzut ekranu

Tutaj wpisz opis obrazka

 -1
Author: super1ha1,
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-08-09 04:01:47