2009-05-12 16 views
9

Jak mogę zablokować Javascript w firebug, aby móc sprawdzić zmiany wprowadzone przez niego w html? Jeśli na przykład mam efekt rollover jQuery i chcę sprawdzić kod HTML w tym momencie.Rozszerzenie Firebug Firefox - funkcja Freeze JavaScript?

Wierzę, że program Dreamweaver CS4 ma tę funkcję pod tytułem Zamrożenie javascript i kod Live. Czy istnieje bezpłatny odpowiednik w Firebug lub innym rozszerzeniu Firefox?

+2

To była funkcja, o której mówiłem: http://tv.adobe.com/?promoid=DRHWV#vi+f1500v1436 od 1:36 zaczynają mówić o kodzie Live i wstrzymują javascript w celu wywrócenia się. Czy istnieje klawisz skrótu klawiaturowego do wstrzymywania javascript w firebug, a nie do przechodzenia przez kod i tworzenia punktu przerwania? – ritch0s

Odpowiedz

6

Przez "zamrażanie" zakładam, że masz na myśli debugowanie, i tak, Firebug zdecydowanie to ma.

Najpierw przejdź do zakładki Skrypt w Firebug. Jeśli skrypt jest wyłączony na stronie, włącz go.

Teraz przejdź do menu i wybierz plik JavaScript, który chcesz debugować. Zazwyczaj jest to albo strona z wbudowanym JavaScript, albo połączona strona. Znajdź linię kodu, którą chcesz zatrzymać, i kliknij po lewej stronie numerów linii. Zobaczysz czerwoną kropkę - ta kropka oznacza, że ​​kod zostanie zamrożony podczas wykonywania. Gdy kod już tam jest, możesz uzyskać dostęp do bieżącego HTML, przechodząc do zakładki "HTML". Zobaczysz także ikony w prawym górnym rogu panelu Skrypt Firebug, które pozwolą Ci kontynuować wykonywanie, krok po kroku, wkroczyć lub wyjść z każdego wiersza kodu, obserwując zmiany HTML dla każdej wykonywanej linii.

Zauważ, że Firebug umożliwia ci krok po linii, co oznacza, że ​​zminimalizowane pliki JavaScript (w których cały kod jest zagęszczony na jednej linii) są absolutnie okropne do debugowania, ponieważ nie wiesz, gdzie jest Firebug . Dlatego do celów debugowania zdecydowanie zalecam pobranie niezminimalizowanych wersji plików.

Jeśli potrzebujesz więcej pomocy, sugeruję sprawdzenie numeru Firebug documentation, który ma kilka dobrych wskazówek.

+0

W szczególności, samouczek Justina Palmera dotyczący debugowania JavaScriptu Firebug jest bardzo przyjemny: http://is.gd/gCtT – montrealist

+2

Działa, ale nie jest to dokładnie ta funkcja, której szukałem, ale dzięki za odpowiedź. – ritch0s

+3

Problem z tą odpowiedzią polega na tym, że nie zawsze łatwo jest znaleźć właściwe miejsce w JS (nie wspominając już o właściwym pliku!), Aby wstrzymać wykonywanie. Przypadku użycia, jeśli często użytkownik jest projektantem, który chce, aby HTML przestał się zmieniać wystarczająco długo, aby zobaczyć jego strukturę! – joachim

0

W zakładce Skrypt w Firebug można ustawić punkty przerwania w Javascript, które pozwolą Ci przejść przez kod, ustawić zegarki i zrobić inne rzeczy w innych debuggerach. Możesz także przejść do zakładki HTML i zobaczyć, jakie zmiany zostały wprowadzone, gdy JavaScript jest "zamrożony".

0

W Firebug przejdź do zakładki skryptu. Na górze możesz zobaczyć:

Inspect | all | <filename> 

Kliknij, aby wybrać plik zawierający skrypt javascript, który chcesz śledzić. Po wybraniu pliku kliknij numer linii, aby wstawić punkt kontrolny (pojawi się duża czerwona kropka).

Możesz umieścić kilka punktów przerwania w różnych plikach. Punkt przerwania nie zniknie, jeśli odświeżysz stronę (F5).

Ten numer tutorial powinien również pomóc.

6

Przerwij mutację (przycisk pauzy po wybraniu karty html) jest najbliższą rzeczą, którą mogę znaleźć w tej funkcji. Przerwa, gdy następnym razem coś się zmieni. To tylko jeden z tego, co chcesz, ale może być przydatny.

+0

Przycisk nie działa @ mój ff26 z fb 1.12.4 –

2

niezupełnie funkcja firefox, ale wydaje się wystarczająco blisko (przynajmniej w sposób rozumiem pytanie):

  1. Get proces CheatEngine
  2. Otwórz firefox
  3. wyboru "Enable Speedhack"
  4. Ustaw prędkość na 0
  5. Zastosuj
  6. Wszystkie skrypty są teraz skutecznie wstrzymane

Możesz przetestować to na zegarze javascript here.

Jestem zawiedziony, że nikt nie stworzył wtyczki do Firefoxa, która zrobiłaby to samo.

Powiązane problemy