Otrzymuję ostrzeżenie „Zasób zinterpretowany jako skrypt, ale przesłany z typem MIME tekst / zwykły” w przeglądarce Google Chrome, gdy dołączam lokalny plik skryptu.
Wiem, że problem pojawia się podczas ładowania pliku z serwera lub przez AJAX, co najczęściej zależy od ustawienia niewłaściwych nagłówków.
Dziwne jest to, że otrzymuję to ostrzeżenie, mimo że jest uruchamiane z lokalnego folderu: file:///C:/test/foo.html
Dzieje się tak tylko w Chrome z najbardziej podstawowym kodem HTML:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="bar.js"></script>
</head>
<body>
</body>
</html>
bar.js jest również tak prosty, jak tylko może:
function hello() {}
Próbowałem dodać metatag:
<meta http-equiv="content-script-type" content="text/javascript">
i przetestowany z innymi typami dokumentów, ale nic nie wydaje się pomagać.
To oczywiście nie jest prawdziwy problem, ponieważ skrypty nadal działają dobrze, ale pracuję nad dużym projektem i obecnie mam około 150 dołączonych skryptów. W związku z tym trudno jest zobaczyć, kiedy między nimi pojawia się rzeczywiste ostrzeżenie.
Wszystko działa dobrze, gdy uruchamiam plik na serwerze, lokalnie lub zdalnie.
Jakieś pomysły, dlaczego Chrome mnie tym denerwuje?
źródło
Odpowiedzi:
Rozgryzłem to!
Instalator programu Visual Studio musiał dodać błędny wiersz do rejestru.
otwórz
regedit
i spójrz na ten klucz rejestru:Widzisz ten klucz? Klucz typu treści? zmień jego wartość z text / plain na text / javascript.
Wreszcie chrom znów może odetchnąć.
Powinienem zauważyć, że ani Typ zawartości, ani PercievedType nie są dostępne domyślnie w systemie Windows 7, więc prawdopodobnie możesz bezpiecznie usunąć oba, ale minimum, które musisz zrobić, to ta edycja.
W każdym razie mam nadzieję, że to też rozwiąże problem!
źródło
.js
pliki miały.txt
wyglądające ikony, więc upewniłem się, że są one powiązane z odpowiednim typem danych. Nie byli!Próbowałem rozwiązać ten problem za pomocą tej metody, ale to nie zadziałało.
Mój problem polegał na tym, że menedżer IIS nie miał typów MIME w funkcjach HTTP.
Udało mi się go włączyć, włączając Kontekst statyczny przez ...
-> Panel sterowania
-> Programy
-> Włącz lub wyłącz funkcje systemu Windows
-> Internetowe usługi informacyjne
-> Usługi WWW
-> Wspólne funkcje HTTP
-> [X] Treść statyczna.
Potem pojawiły się typy MIME i wszystko znów zaczęło działać.
źródło
Przyjęta odpowiedź jest świetna! Jednak wystarczy opublikować odpowiedź dla tych, którzy napotykają problem, jak ja, którzy czasami używają komputera na wydziale / uczelni, gdzie nie mam uprawnień do zmiany jakiejkolwiek wartości klucza w regedit.
Zmiana
<script type="text/javascript" src="main.js"></script>
do
<script src="main.js"></script>
Mimo że komunikat o błędzie nadal istnieje, strona została załadowana poprawnie.
źródło