Ресурс интерпретируется как скрипт, но передается с типом MIME text / plain - для локального файла


Я получаю предупреждение" ресурс интерпретируется как скрипт, но передается с типом MIME text/plain " в Google Chrome при включении локального файла сценария.

Я знаю, что проблема возникает при загрузке файла с сервера или через ajax, который чаще всего зависит от неправильных заголовков.

странно то, что я получаю это предупреждение, даже если оно запускается из локальной папки: file:///C:/test/foo.html

это происходит только в Chrome с самым базовым html там это:

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

бар.js также так просто, как он может получить:

function hello() {}

Я попытался добавить мета-тег:

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

и проверено с другими типами доктов, но ничего не помогает.

это, очевидно, не реальная проблема, так как скрипты по-прежнему работают нормально, но я работаю над большим проектом и в настоящее время около 150 сценариев включены. Поэтому трудно увидеть, когда между ними возникает фактическое предупреждение.

все отлично работает, когда я запускаю файл на сервере локально или удаленным.

любые идеи о том, почему chrome раздражает меня этим?

3 98

3 ответа:

Я все понял!

установщик Visual Studio должен был добавить в реестр ошибочную строку.

открыть regedit и взгляните на этот раздел реестра:

enter image description here

этот ключ? Ключ типа контента? измените его значение с text / plain на text / javascript.

наконец-то хром может дышать легко.

Я должен отметить, что ни тип контента, ни PercievedType не существуют по умолчанию Windows 7, поэтому вы, вероятно, можете безопасно удалить их обоих, но минимум, что вам нужно сделать, это изменить.

в любом случае я надеюсь, что это решает его для вас!

Я попытался исправить эту проблему с помощью этого метода, но это не сработало для меня.

моя проблема заключалась в том, что диспетчер IIS не имел типов MIME в HTTP-функциях.

Я смог включить его, включив статический контекст через...

--> Панель Управления

--> - программы

--> включение и выключение функций Windows

--> Информационные Службы Интернета

--> World Wide Web Services

--> общий HTTP features

--> [X] Статическое Содержимое.

после этого появились типы MIME, и все снова начало работать.

принятый ответ является большим! Тем не менее, просто чтобы опубликовать ответ для тех, кто сталкивается с такой проблемой, как я, которые иногда используют компьютер отдела/колледжа, где у меня нет разрешения на изменение любого ключевого значения в regedit.

изменить

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

до

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

хотя сообщение об ошибке все еще существуют, страница загружена правильно.