Отладочное сообщение «Ресурс интерпретируется как другой, но передается с приложением / javascript MIME-типа»

60

Хорошо, я понимаю, что означают сообщения, но я действительно не уверен, что вызывает это. Кстати, я использую Safari и Web Inspector на Mac OS X.

У меня есть следующее в документе:

<script src="http://local.url/a/js/jquery.js" type="text/javascript"></script>
<script src="http://local.url/a/js/jquery.inplace.js" type="text/javascript"></script>

jquery.js обрабатывается отлично, но другой файл вызывает предупреждение. Также кажется, что javascript в этом файле никогда не запускается.

Файл обрабатывается через mod_deflate, поэтому он кодируется gzip, но также и другой файл.

Есть ли у кого-нибудь идеи, что вызывает это, или как его решить?

Приветствует всех, Gaz.

  • 0
    какая версия сафари?
  • 0
    Можете ли вы опубликовать рабочий пример URL? Было бы полезно посмотреть на то, что на самом деле происходит с точки зрения браузера.
Показать ещё 1 комментарий
Теги:
safari
mime-types

15 ответов

9
Лучший ответ

кажется ошибкой в ​​safari/webkit. возможно этот, или любой из этих. попробуйте обновить сафари. если нет более старой стабильной версии, попробуйте 4 бета-версии.

  • 0
    посмотрите на следующий ответ, который действительно решит проблему. Это может быть объяснено, потому что src = "" идет, чтобы извлечь текущую страницу как изображение. если у вас есть src = "", просто удалите свойство src
36

Изображение с пустым атрибутом "src" генерирует эту ошибку в Windows-Chrome:

<img src="">

... while...

<img>

... не делает.

Я приехал сюда, потому что в моем наборе результатов ajax возвращались данные "src", которые были пусты, но img все еще вставлялся в страницу.

  • 1
    Это был именно тот случай для меня.
  • 1
    Вы спасли мою жизнь! большое спасибо!
Показать ещё 2 комментария
13

Решено!

У меня была эта ошибка в течение нескольких дней. Это сводило меня с ума, потому что это не позволяло мне использовать отладчик firefox firebug script. Наконец, моя ошибка была решена, когда я удалил пустой URL-адрес в стилевом стиле "background-image: url()" .

Это была такая боль, что я действительно надеюсь, что кто-то может использовать этот совет.

  • 0
    Отлаживать это было непросто, пока я не искал из строки ошибки в SO. Ошибка возникла из-за темы Wordpress ProMotion, которая просто выводила все, что пользователь вводил, в качестве URL-адреса фонового изображения. Большую часть времени не было введено URL фонового изображения.
10

Я не думаю, что это ошибка, Попробуйте добавить тип MIME в файл .htaccess Например, добавьте или добавьте следующий контент в ваш .htaccess файл (который должен находиться в одном месте с вашими .js или выше папками)

#JavaScript
AddType application/x-javascript .js

Это разрешило мои предупреждения "Ресурсы, интерпретируемые как другие, но перенесенные...". Каждый раз, когда у вас есть такое предупреждение, это означает, что у вас недостаточно информации в вашем файле .htaccess.

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

BTW2: Я также могу очистить те же предупреждения для файлов GIF в Safari 4 с помощью этого:

#GIF
AddType image/gif .gif

BTW3: для других типов файлов: см. список w3schools или htaccess-guide

  • 4
    Вам не нужно перезагружать свой сервер после изменения .htaccess.
6

Это предупреждение появляется, потому что не указан тип по умолчанию script. Попробуйте добавить в свой HTML файл следующую директиву:

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

Подробнее о настройках скриптов по умолчанию вы можете узнать здесь: http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.2.1

  • 0
    Помещение в http-эквивалент решает проблему.
  • 1
    У меня не работал Safari 4.0.3.
Показать ещё 3 комментария
4

Это из-за периода в имени файла. Это глупо, но в любое время в файле js файла вы получите эту ошибку, и я столкнулся с ситуациями, когда это фактически предотвратит загрузку js файла.

  • 0
    вау, если это так, то это очень странно.
  • 2
    это может быть одной из причин, но не единственной причиной возникновения этой ошибки.
4

Вам нужно использовать инструмент для просмотра заголовков HTTP, отправленных с файлом, что-то вроде LiveHTTPHeaders или HTTPFox - это то, что я использую. Если файлы отправляются с веб-сервера без MIME-типа или с типом MIME по умолчанию, например text/plain, это может быть причиной этой ошибки.

3

Похоже на ошибку в правилах обработки кэширования Safari.

Обходной путь в apache:

Header unset ETag
Header unset Last-Modified
  • 0
    Да, есть ошибка при использовании Last-Modified в браузерах WebKit. Похоже, они запутываются в любом статическом файле при отправке этого заголовка.
2

Я только что получил это и решил его локально на моем mac. По какой-то причине у javascript файла были плохие разрешения. Я заметил, когда я посмотрел на него в firebug, я получал 403. Я надеюсь, что это поможет кому-нибудь.

0

В APACHE

Добавьте эти типы MIME в .htaccess в свой корень. Я рекомендую вторую строку, так как это может помочь предотвратить любые будущие потенциальные предупреждения интерпретации MIME с помощью CSS файлов.

AddType application/x-javascript .js
AddType text/css .css    

Перезапустите свой Apache...

В NGINX

Добавьте в свой nginx.conf или файл импорта mime.types(рекомендуемый метод). Добавьте любое или все по мере необходимости/релевантно.

types {
    text/html                             html htm shtml;
    text/css                              css;
    text/xml                              xml;
    image/gif                             gif;
    image/jpeg                            jpeg jpg;
    application/x-javascript              js;
    application/rss+xml                   rss;
    text/plain                            txt;
    image/png                             png;
    image/tiff                            tif tiff;
    image/svg+xml                         svg svgz;
    image/webp                            webp;
    application/postscript                ps eps ai;
    application/pdf                       pdf;
    application/rtf                       rtf;
    application/vnd.ms-excel              xls;
    application/vnd.ms-powerpoint         ppt;
    application/msword                    doc;
    application/x-shockwave-flash         swf;
    application/xhtml+xml                 xhtml;
    application/zip                       zip;
}
0

Кажется, есть много вещей, которые вызывают это. Для меня это было правило перезаписи нижнего регистра в IIS. Изменены файлы проблем (js и png) в нижнем регистре, и проблема исчезла.

0

Другой распространенной причиной этой ошибки на Mac является флаг карантина Apple.

ls каталог, содержащий ресурсы (ы), о которых идет речь. Если вы видите индикатор расширенного атрибута, т.е. Маленький символ @ в конце блока разрешений (например, -rw-r--r--@), файл может быть помещен в карантин.

Попробуйте ls -la@e и найдите com.apple.quarantine

Следующая команда удалит карантин:

xattr -d com.apple.quarantine /path/to/file
0

Эта ошибка, похоже, всплыла (заметен в ноябре 2010 года)

Я думаю, что в отчетах об ошибках WebKit есть этот и this. По существу это сводится к неправильной обработке кеша при выполнении If-Modified-Since, которые получают ответ 304.

0

Я узнал, что именование моих файлов css противоречило прокси-фильтрам

www.dating.com(который не является моим сайтом) был заблокирован, а мои файлы css и js назывались dating.css и dating.js. Фильтр блокировал это. Возможно, так обстоит дело с некоторыми из вас, работая над корпоративными системами.

0

У меня была такая же проблема с css файлом, а не с javascript. (с использованием веб-сервера xitami)

то, что исправлено для меня, добавлялось в разделе MIME файла xitami.cfg:

CSS = текст/CSS

Ещё вопросы

Сообщество Overcoder
Наверх
Меню