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


97

Я отримую "Ресурс, інтерпретований як сценарій, але переданий з текстом / простою формою MIME" в 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>

bar.js також настільки ж простий, як можна отримати:

function hello() {}

Я спробував додати метатег:

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

і перевірено з іншими доктрипами, але, здається, ніщо не допомагає.

Це, очевидно, не є справжньою проблемою, оскільки сценарії все ще працюють чудово, але я працюю над великим проектом і на даний момент є близько 150 сценаріїв. Тому важко зрозуміти, коли між ними виникає фактичне попередження.

Все працює добре, коли я запускаю файл на сервері, локально або віддалено.

Будь-які ідеї, чому хром мене дратує?


вам не трапилось встановити останню Visual Studio днями, чи не так? Це почалося зі мною, і це єдине, що змінилося ...
Саймон Сарріс

так, VS Express 2012 RC кілька тижнів тому. Я теж думав про це, тому створив файли замість блокнота ++, але проблема залишається тією ж. Якщо VS викликає це, то, мабуть, вони змінили деякий глобальний параметр / параметр? Питання - що, і як я можу це змінити назад?
batzkoo

Я все ще намагаюся з'ясувати те саме. Це здається глобальною справою, і це сталося саме після того, як я встановив VS2012. Я дам вам знати, якщо я щось зрозумію. Щоб було зрозуміло, я фактично не використовую Visual Studio для редагування файлів, що робить його більш чужим.
Саймон Сарріс

Відповіді:


195

Я зрозумів це!

Установник Visual Studio повинен був додати до реєстру помилкову лінію.

відкрийте regeditі подивіться цей ключ реєстру:

введіть тут опис зображення

Бачите цей ключ? Ключ типу вмісту? змінити його значення з тексту / звичайного на текст / javascript.

Нарешті, хром може знову легко дихати.

Слід зазначити, що ні Тип вмісту, ні PercievedType за замовчуванням не існують у Windows 7, тому ви, ймовірно, можете безпечно видалити їх обидва, але мінімум, що вам потрібно зробити, це редагувати.

У будь-якому випадку я сподіваюся, що це виправить це і для вас!


8
Молодець! для пошуку рішення цього роздратування. Я не видалив ключ, але замість цього змінив значення даних на текст / javascript. Дякую!
batzkoo

ха-ха, я змінив його на текст / сценарій, і він не спрацював, можливо, я мав би спробувати текст / javascript!
Саймон Сарріс

Дякуємо за рішення! У мене була така ж проблема ... Насправді з типом MIME звичайний / текст для мене код JavaScript видав помилки. У мене були рядки (в масиві), що містять літери, знайдені в кодуванні UTF-8, видно на східноєвропейських мовах на зразок "ő". "Gergő" - приємне ім'я угорського ім'я. Помилки також пішли, дякуючи богу, оскільки я не міг запустити свій код - але я не досліджував це далі.
Золтан

2
Нічого собі, як ви знайшли це рішення?
Пакман

4
@Pakman У мене була проблема одного дня, тоді я придбав новий комп’ютер і не мав проблеми. Потім, коли я встановив Visual Studio 2012, я помітив, що він знову з’явився, тому я зрозумів, що це винуватець. Я подумав, що це щось змінило в асоціаціях файлів реєстру, тому що всі мої .jsфайли мали .txtпіктограми, тому я переконався, що вони пов'язані з правильним типом даних. Їх не було!
Саймон Сарріс

30

Я спробував виправити цю проблему за допомогою цього методу, але це не спрацювало.

Моя проблема полягала в тому, що менеджер IIS не мав типів MIME у функціях HTTP.

Я зміг увімкнути його, включивши Статичний контекст за допомогою ...

-> Панель управління

-> Програми

-> Увімкнення та вимкнення функцій Windows

-> Інтернет-інформаційні послуги

-> World Wide Web Services

-> Загальні функції HTTP

-> [X] Статичний вміст.

Після цього з'явилися типи MIME і все почало працювати знову.


0

Прийнята відповідь - чудова! Однак просто опублікувати відповідь для тих, хто стикається з такою проблемою, як я, хто інколи користується комп'ютером кафедри / коледжу, де я не маю дозволу змінювати якесь ключове значення в regedit.

Зміна

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

до

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

Хоча повідомлення про помилку все ще існує, сторінка завантажується правильно.


2
Але проблема ОП полягає в тому, що сторінка завантажується правильно, але він все одно отримує повідомлення про помилку. Це, здається, нічого не змінює.
Teepeemm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.