2013-05-16 12 views
15

Chcę debugować mój kod javascript i móc skutecznie umieszczać punkty przerwania w wymaganych miejscach w zakładce źródła.Jak dodać punkty przerwania w wbudowanym javascript w chrome

Jednak napotkam problem, w którym chcę debugować mój wbudowany kod javascript. Czy mamy jakąkolwiek funkcję narzędzia do debugowania chrome, za pomocą której mogę debugować mój wbudowany kod javascript.

Nie mam problemu z używaniem Firebug również do celów debugowania.

PS: Przez wbudowany kod javascript, mam na myśli kod JS wewnątrz znacznika body i w tym samym pliku.

+1

Czy używasz instrukcji 'debugger;'? –

+1

Nie chcę zmieniać kodu w celu debugowania, ponieważ w późniejszym czasie muszę usunąć te linie debuggera. Zastanawiam się więc nad rozwiązaniem, aby poprosić przeglądarkę, aby zatrzymała się w punktach przerwania, tak jak zatrzymuje się w zakładce źródłowej. – sachinjain024

+0

możliwy duplikat [Jak ustawić punkt przerwania w wbudowanej przeglądarce JavaScript w przeglądarce Google Chrome dla systemu Linux?] (Http://stackoverflow.com/questions/5156388/how-to-set-breakpoint-in-inline-javascript-in-google -chrome-browser-for-linux) –

Odpowiedz

38

Innym sposobem może być przy użyciu metody dynamicznej skryptu. Chrome udostępnia proste polecenie analizatora składni, które może oznaczać dynamicznie załadowane JS.

<script type="text/javascript"> 
[...] 
//# sourceURL=dynamicScript.js 
</script> 

Linia ta mówi debugera chrom, że cały ten skrypt wewnątrz tagu skrypt powinien być interpretowany jako plik dynamicScript.js. Możesz znaleźć plik na liście debuggera i łatwo ustawić punkty przerwania lub sprawdzić kod.

Uwaga: @ otrzymuje #, aby uniknąć błędów na nieobsługiwanych przeglądarek

Breakpoints in Dynamic JavaScript

+1

Należy zwrócić uwagę, że [odpowiedź tylko do łącza] (http: //meta.stackoverflow.com/tags/link-only-answers/info) są odradzane, odpowiedzi SO powinny być punktem końcowym wyszukiwania rozwiązania (w porównaniu z innym punktem odniesienia, który z czasem staje się nieaktualny). Proszę rozważyć dodanie samodzielnego streszczenia tutaj, zachowując odnośnik jako odniesienie. – kleopatra

+0

@fazzyx Dzięki za link. Zgadzam się również z Kleopatrą, aby odpowiedzi były punktem końcowym wyszukiwania. Więc albo powinieneś zaktualizować swoją odpowiedź z odpowiednią treścią lub po prostu umieścić link w komentarzu. – sachinjain024

+0

Dzięki za notatkę. Zaktualizowałem odpowiedź. – fazzyx

1

Znalazłem rozwiązanie. Możemy również umieszczać punkty przerwania na wbudowanym javascript.

Rozwiązanie:

  • idź do źródła kartę w Chrome narzędzia dev i można zobaczyć wszystkie źródła tam.
  • Twój kod HTML będzie obecny z podobną strukturą katalogu, jak w podanym adresie URL.
  • A potem można otworzyć HTML i miejsce przerwania w inline kodu JavaScript
+1

Możliwe jest wstawianie punktów przerwania i działa, ale gdy skrypt znajduje się wewnątrz znacznika szablonu, chrom po prostu je ignoruje i niestety nie wstrzyma skryptu w punktach przerwania. – Eddie

1

@blunderboy Jeśli następujący typ JS zawiera wewnątrz znacznika body nigdy nie pojawi się w strukturze katalogów, więc w takim przypadku twoje rozwiązanie nie będzie działać.

<div> 
<script src="myJSfile.js"> 
</script> 
</div> 

dzieje się to w jquery mobile, gdzie wszystko poza stroną div nie jest załadowane, więc musisz włączyć JS wewnątrz div strony.

Byłbym oznaczony jako odpowiedź przez @fazzyx jako poprawna odpowiedź, ponieważ w ten sposób przynajmniej chrome będzie pokazywać nawet dołączone pliki.