Narzędzie dla programistów Chrome: skrypt html jest pusty (w źródle) samouczek dotyczący debugowania


90

Robię samouczek debugowania C hrome , używając NetBeans i Google Chrome. Wszystko, łącznie z rozszerzeniami, wydaje się działać poprawnie, ale kiedy docieram do sekcji Use the Debugger, nie widzę kodu HTML do wstawienia punktu przerwania.

Po wybraniu wyskakującego okienka inspekcji w przeglądarce otwiera się w konsoli, nic nie pokazuje, elementy wyświetla popup.html z dodanymi obrazami. Kiedy przechodzę do Źródeł, można otworzyć plik popup.html, ale jedyna linia, Linia 1, jest pusta. Jeśli otworzę plik js, plik js tam jest i można go edytować (wskazać przerwę).

Przepraszam - prawdopodobnie coś podstawowego, ale nie mam w tym dużego doświadczenia. Próbowałem przeładować i odświeżyć wszystko.

location.reload(true)DALSZE INFORMACJE : Po przejściu do wiersza poleceń konsoli plik popup.html stał się widoczny jako źródło! Czemu? Brak pomysłu.

Mam nadzieję, że to uratuje komuś cały dzień, który spędziłem na potykaniu się.


5
location.reload (true) działał dla mnie.
WillB3

Tak, ale spowoduje to ponowne załadowanie strony i utratę wszelkich interakcji, które mogłeś mieć na stronie przed otwarciem debugera.
Peter Brand

gdzie powinienem napisać „location.reload (true)”
sidhewsar

2
Wciąż mamy problem w 2019 roku!
Aamir Rizwan

Dzieje się tak w najnowszej wersji Chrome, październik 2019 r., Ale sztuczka location.reload (prawda) nic nie załadowała. Nawiasem mówiąc, okno źródłowe pokazuje tylko wiersz numer 1, ale nic więcej.
Howard Brown

Odpowiedzi:


53

Wygląda na to, że jest to znany problem z Chromium DevTools. Zasadniczo kod HTML i inne treści niebędące skryptami są już opróżniane przed otwarciem DevTools i nie ma niezawodnego sposobu, aby je odzyskać. Odświeżenie strony przy otwartym DevTools „rozwiązuje” problem.


4
Zgoda - mam problem i ta poprawka jest nieaktualna (w przypadku poprzedniego identycznego problemu) lub nie działa.
Dan Nissenbaum

3
ja też mam ten sam problem. Odświeżenie strony nie rozwiązuje problemu.
MH

17
możesz sprawić, by działało, zamykając narzędzia programistyczne i ponownie otwierając je za pomocą opcji sprawdzania elementu. Mi to pasuje.
Vishal,

7
Nadal w grudniu 2017!
Peter Brand

7
Błąd nadal występuje - maj 2019
Chris Rogers

48

w moim przypadku zamówienie pomogło

  1. zamknij pustą kartę w źródłach
  2. zamknij narzędzia deweloperskie
  3. otwarte narzędzia programistyczne
  4. otwórz zakładkę w źródłach (nadal jest pusta)
  5. Odśwież stronę

1
Kto wie, czy będzie to niezawodna poprawka, ale tym razem zadziałało! 😁
James Hill,

1
Człowieku, szukałem od zawsze tej „poprawki”
Jordec

zadziałało dla mnie
Smith

to zadziałało również dla mnie
AVH

24

Miałem ten problem i właśnie stwierdziłem, że wyłączenie opcji „Włącz mapy źródeł JavaScript” w oknie ustawień Inspektora (F1) rozwiązało go

Odtworzyłem mapę js.map, ponownie włączyłem ustawienie, a źródło było nadal dostępne.

Więc myślę, że moim problemem było to, że obsługiwałem niezminimalizowany js (ustawienia deweloperskie), ale mapa (zbudowana dla ustawień prod) wciąż tam była i nieaktualna.


4
zamknij chrome i otwórz ponownie po zmianie ustawienia!
Nateous

17

W moim przypadku nie mogłem uzyskać dostępu do konsoli, ponieważ jej karta również wyświetlała pustą stronę. Moim rozwiązaniem jest użycie kombinacji CTRL + SHIFT + I z pustym ekranem debugera w centrum uwagi, a następnie wpisanie parent.location.reload(true)w konsoli wyskakującego debugera.


2
Jak w komentarzu WillB powyżej, powoduje to ponowne załadowanie strony i utratę wszelkich interakcji, które mogłeś mieć na stronie przed otwarciem debugera.
Peter Brand

Niesamowite! To zadziałało dla mnie po 2 godzinach walki.
Zeeshan Adil

Nie wiem, co implikuje plik parent.location.reload, ale rozwiązał mój problem po kilku restartach / twardym odświeżaniu / opróżnianiu danych z pamięci podręcznej chrome! dzięki!
beluga

Cieszę się, że mogłem pomóc. Ponownie ładuje okno nadrzędne (puste okno, w którym wpisałeś CTRL + SHIFT + I) z okna podrzędnego.
Ikenna Anthony Oka na

5

W moim przypadku w chrome było rozszerzenie powodujące, że debugger podał pustą stronę indeksu w sekcji „brak domeny” debuggera. Po wyłączeniu wszystkich nieistotnych rozszerzeń w Chrome debugger ponownie pokazał prawidłowe źródło.


4
Byłoby wspaniale, gdybyś zanotował problem z rozszerzeniem. Wiele rozszerzeń może być dla Ciebie nieistotnych i niezbędnych dla mnie. To sprawia, że ​​odpowiedź jest bezwartościowa.
Imad

5
Nie zgodziłbym się z „bezwartościowym”. Przynajmniej wiesz, aby sprawdzić wtyczki.
Brett Drake

To był mój problem - w moim przypadku zainstalowałem rozszerzenie UltraSurf Unblock VPN. Otwarcie lokalnej strony debugowania w oknie incognito wywołało ją natychmiast. Trochę "durrrr" moment, muszę przyznać :( haha!
IfElseTryCatch

Korzystanie z trybu incognito naprawiło to za mnie.
Petah

4

Dev Tools (F12) -> Okno ustawień Inspektora (F1) -> Przywróć domyślne i przeładuj [przycisk na dole] działa dla mnie!


2

Zauważyłem, że niektóre poważne problemy z JavaScriptem powodują takie problemy. W moim przypadku błędnie nadpisałem cały dokument z powodu literówki.

Jeśli otrzymujesz pustą stronę HTML w debugerze Chromium WebTools, przyjrzyj się dobrze swojemu javascriptowi, aby upewnić się, że nie robi nic dziwnego.


1
Wydaje się, że to właśnie spowodowało problem dla mnie. W moim przypadku miałem złe odniesienie do jQuery. $ ('inputid') w przeciwieństwie do $ ('# inputid').
Vincent,

2

Naprawiłem swój problem, używając zupełnie nowej sesji z argumentem wiersza poleceń „--user-data-dir” i wyłączając opcję „Włącz mapy źródeł JavaScript”. Mój kod pojawia się dobrze w debugerze Firefoksa, więc wygląda na to, że jest spowodowany błędem Chrome.


1

Miałem ten sam problem. Nawet odświeżenie strony nie zadziałało.

Przechodzenie chrome://helpi odświeżanie przeglądarki + restart działały dla mnie.

Możesz również zaktualizować Chrome za pomocą menu:

wprowadź opis obrazu tutaj


0

w moim przypadku stało się to nagle, po zainfekowaniu złośliwym oprogramowaniem i zresetowaniu przeglądarki - usunięto cache / appdata.

Rozwiązanie: usuń rozszerzenie, które może mieć wpływ na Js w moim przypadku

Usunąłem / wyłączyłem poniższe rozszerzenie i działałem https://chrome.google.com/webstore/detail/quick-javascript-switcher/geddoclleiomckbhadiaipdggiiccfje?hl=en

dziwne, ponieważ zanim umyję ten dodatek bez problemu, myślę, że to jak RKO do serca. :)


0

W moim przypadku przez kilka dni miałem łyk z Browsersync. Wypiłem łyk i rozwiązałem swój problem.


0

Miałem również ten problem, gdy miałem ogromny plik skryptu java, miałem tę linię

                points.push({
                    location: new google.maps.LatLng(46.5376919, 4.5425704),
                    date : "5/8/2017 5:11:00 PM",
                    free : true
                });

w cyklu for i liczył 3000 elementów, więc plik urósł w skrypcie, a plik był pusty w źródłach chrome. (Myślę, że napotkałem pewne ograniczenie)

Po zmniejszeniu pliku przez usunięcie do 100 elementów działało dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.