Mam dziwny, sporadyczny problem z narzędziami dla programistów Chrome wiszącymi na starych wersjach plików JavaScript. Będę rozwijał aplikację JS, rzeczy nucące po prostu znajdę, a potem nagle moje pliki JavaScript znikną z listy plików JavaScript na karcie "źródła". To jest moja pierwsza wskazówka, że coś jest nie tak.Narzędzia dla programistów Chrome buforują starszą wersję plików JavaScript
W końcu odkryłem, że Chrome Developer Tools najwyraźniej trzyma się starej wersji pliku JavaScript. Chrome sam żąda i wykonuje najnowszą wersję z serwera, ale nie można debugować pliku JavaScript.
"Udowodniłem" sobie, że tak właśnie się stało, biorąc konkretny plik JavaScript, który zniknął z mojej listy źródeł, i zastępując go jedną linią: console.log
.
Potem ponownie załadowałem stronę i zauważyłem, że instrukcja console.log pojawiła się w konsoli JavaScript. Zauważyłem również na zakładce Network, że plik JavaScript został pomyślnie pobrany, a to, co zepsuło się przez przewód, zawierało tylko jedną instrukcję: console.log
.
Jednak plik JavaScript nadal nie pojawił się na liście źródeł, a po kliknięciu nazwy pliku w konsoli (gdzie pojawia się po prawej stronie konsoli, obok zalogowanego wyciągu), to przejdź do zakładki źródła i otworzy się stara wersja pliku JavaScript.
Ten plik JavaScript jest ładowany na stronę za pomocą zwykłego tagu <script>
. Nie jest ładowany dynamicznie, przez inny skrypt lub przez eval. Po prostu zwykły, waniliowy znacznik <script>
wskazujący plik .js na serwerze internetowym.
Próbowałem:
- Zapewnienie, że "Wyłącz cache (podczas DevTools jest otwarta)" jest zaznaczona w ustawieniach DevTools.
- Ręczne czyszczenie pamięci podręcznej i plików cookie w przeglądarce Chrome.
- Ponowne uruchomienie Chrome
- Ręczne ładowanie pliku JavaScript w osobnej karcie Chrome
- Wyłączenie wszelkich Chrome rozszerzenie/app, że mam zainstalowanego
- Running stronę w trybie incognito
- Odznacz zarówno „Włącz mapy źródłowe JavaScript "i" Włącz mapy źródłowe CSS "
Żadne z nich nie zmieniło zachowania. Możesz watch a video demonstrating this here, jeśli mi nie wierzysz!
Myślę, że to kwestia Chrome, ponieważ mogę używać Firefoksa bez tego problemu ... ale bardzo lubię Chrome i narzędzia programistyczne Chrome :-) Więc chciałbym, żeby to działało w Chrome ...
Aktualizacja Zgłosiłem to jako błąd przeglądarki Chrome here. Jeśli ten błąd dotyczy Ciebie lub jest dla Ciebie ważny, zagłosuj na niego i/lub dodaj komentarze z dodatkowymi informacjami.
Czy używasz VS i/lub IIS, perchance? Wpadam na to od czasu do czasu, po prostu 'Ctrl' +' F5', aż * w końcu * odświeży pamięć podręczną. Będę zainteresowany, jeśli znajdziesz rozwiązanie. –
Jeśli wygląda na błąd, zgłoś go: http://crbug.com/new –
Czy masz skonfigurowane mapowanie obszaru roboczego? – mistaecko