В заголовке моей HTML-страницы есть:
<script src="https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js"></script>
Когда я загружаю страницу в своем браузере (Google Chrome v 27.0.1453.116) и включаю инструменты разработчика, он говорит:
Отказался выполнять скрипт из « https://raw.github.com/cloudhead/less.js/master/dist/less-1.3.3.js », потому что его тип MIME («text / plain») не является исполняемым, и строгая проверка типов MIME включена.
Действительно, скрипт не запустится. Почему Chrome считает, что это простой текстовый файл? У него явно есть .js
расширение файла.
Поскольку я использую HTML5, я пропустил type
атрибут, поэтому я подумал, что это может быть причиной проблемы. Поэтому я добавил type="text/javascript"
к <script>
метке, и получил тот же результат. Я даже попробовал type="application/javascript"
и все еще получил ту же ошибку.
Тогда я попытался изменить это type="text/plain"
просто из любопытства. Браузер не вернул ошибку, но, конечно, JavaScript тоже не работал.
Наконец я подумал, что точки в имени файла могут сбить браузер. Поэтому в моем HTML-коде я изменил все точки на escape-символ URL %2E
:
<script src="https://raw.github.com/cloudhead/less%2Ejs/master/dist/less-1%2E3%2E3.js"></script>
Это все еще не сработало. Единственное, что действительно работает (т. Е. Браузер не выдает ошибку и JS успешно запускается), это если я загружаю файл, загружаю его в локальный каталог, а затем изменяюsrc
значение на локальный файл. Я бы предпочел не делать этого, так как я пытаюсь сэкономить место на своем собственном сайте.
Как заставить Chrome распознавать, что связанный файл на самом деле является типом JavaScript?