2012-08-17 13 views
98

Otrzymuję komunikat "Zasób interpretowany jako skrypt, ale przesyłany z tekstem typu MIME/zwykłym" w przeglądarce Google Chrome, gdy dołączony jest plik skryptu lokalnego.Zasób interpretowany jako Skrypt, ale przesłany z tekstem typu MIME/zwykły - dla pliku lokalnego

Wiem, że problem pojawia się podczas ładowania pliku z serwera lub ajax, który najczęściej zależy od ustawienia złych nagłówków.

Najdziwniejsze jest to, że mam to ostrzeżenie, mimo że jest uruchamiany z lokalnego folderu: file:///C:/test/foo.html

Dzieje się tak tylko w Chrome z najbardziej podstawowych html znajduje się:

<!DOCTYPE html> 
    <html> 
    <head> 
     <script type="text/javascript" src="bar.js"></script> 
    </head> 
    <body> 
    </body> 
</html> 

barze. js jest tak proste, jak to może dostać:

function hello() {} 

próbowałem dodanie meta tag:

<meta http-equiv="content-script-type" content="text/javascript"> 

i testowane z innymi dokumentami, ale nic nie pomaga.

To oczywiście nie jest poważny problem, ponieważ skrypty wciąż działają dobrze, ale pracuję nad dużym projektem i obecnie mam około 150 skryptów. W związku z tym trudno jest zobaczyć, kiedy między nimi pojawia się faktyczne ostrzeżenie.

Wszystko działa poprawnie, gdy uruchamiam plik na serwerze, lokalnie lub zdalnie.

Jakieś pomysły na to, dlaczego chrom mnie denerwuje?

+0

nie zainstalowałeś najnowszego Visual Studio innego dnia, prawda? To zaczęło się dziać ze mną i to jedyna rzecz, która się zmieniła ... –

+0

tak, VS Express 2012 RC kilka tygodni temu. Myślałem o tym również, więc zamiast tego stworzyłem pliki z notatnikiem ++, ale problem pozostaje ten sam. Jeśli VS to powoduje, to musieli zmienić jakieś globalne ustawienie/parametr? Pytanie brzmi: co i jak mogę to zmienić? – batzkoo

+0

Nadal próbuję rozgryźć to samo. Wydaje się być globalna i stało się to dokładnie po zainstalowaniu VS2012. Dam ci znać, jeśli coś wymyślę. Aby było jasne, nie używam Visual Studio do edycji plików, co czyni go dziwniejszym. –

Odpowiedz

194

Wymyśliłem!

Instalator Visual Studio musi dodać błędną linię do rejestru.

otworzyć regedit i przyjrzeć się tym kluczu rejestru:

enter image description here

zobaczyć, że klucz? Klawisz Content Type? zmienić jego wartość z text/plain na text/javascript.

Wreszcie chrom może ponownie oddychać łatwo.

Należy zauważyć, że zarówno Typ zawartości, jak i PercievedType nie są domyślnie w systemie Windows 7, więc prawdopodobnie można bezpiecznie usunąć oba, ale minimalną potrzebą jest ta edycja.

W każdym razie mam nadzieję, że to naprawi to za Ciebie!

+8

Dobra robota! za znalezienie rozwiązania tego rozdrażnienia. Nie usunąłem klucza, ale zmieniłem wartość danych na tekst/javascript. Dzięki! – batzkoo

+0

haha ​​Zmieniłem go na tekst/skrypt i to nie działało, może powinienem był wypróbować tekst/javascript! –

+12

Dam ci jeden MILION (wirtualny) upvotes dla tego. Plus jeden prawdziwy. –

30

Próbowałem naprawić ten problem za pomocą tej metody, ale to nie działa dla mnie.

Mój problem polegał na tym, że menedżer IIS nie ma typów MIME w funkcjach HTTP.

Udało mi się go włączyć, włączając statyczny kontekst za pomocą ...

-> Panel sterowania

-> Programy

-> Włącz funkcje systemu Windows lub wyłączyć

-> Internet Information Services

-> World Wide Web Usługi

-> Typowe funkcje HTTP

-> [X] Zawartość statyczna.

Po tym pojawiły się typy MIME i wszystko zaczęło działać.

+0

To zadziałało dla mnie ... Zaznaczę tę odpowiedź jako rozwiązanie ... –

+0

Doskonale, to działało dla mnie i było łatwe do naśladowania. – Zammalad

0

Przyjęta odpowiedź jest wspaniała! Jednak, aby opublikować odpowiedź dla tych, którzy napotykają problem, jak ja, którzy czasami korzystają z komputera na wydziale/uczelni, gdzie nie mam uprawnień do zmiany wartości klucza w regedit.

Zmień

<script type="text/javascript" src="main.js"></script>

do

<script src="main.js"></script>

Chociaż komunikat o błędzie nadal istnieje, strona prawidłowo załadowany.

+2

Ale problem z OP polega na tym, że strona ładuje się poprawnie, ale nadal otrzymuje komunikat o błędzie. To chyba nic nie zmienia. – Teepeemm

Powiązane problemy