При обслуживании файлов JavaScript лучше использовать application / javascript или application / x-javascript - PullRequest
88 голосов
/ 18 мая 2009

Весь вопрос вписывается в заголовок. И добавим некоторый контекст: я не спрашиваю, что является лучшим в соответствии с тем, что говорят спецификации, а скорее, что работает лучше всего, учитывая сочетание браузеров, развернутых в настоящее время.

Некоторые точки данных:

  • Google использует text/javascript для JS, используемого на их домашней странице.
  • Google использует text/javascript в Документах Google.
  • Google использует application/x-javascript для обслуживания файлов JavaScript с помощью службы библиотек Ajax .
  • Yahoo использует application/x-javascript для обслуживания своих JS.
  • Yahoo использует application/x-javascript для JavaScript, размещенного на их домашней странице.

Ответы [ 5 ]

111 голосов
/ 18 мая 2009
  • text/javascript устарел
  • application/x-javascript был экспериментальным, когда решил перейти к ...
  • application/javascript является текущим официальным типом MIME для JS

При этом браузеры часто игнорируют content-type, отправленный сервером, и уделяют большое внимание атрибуту type (а некоторые могут еще не распознавать application/javascript).

Моя рекомендация:

  • Использовать приложение / javascript на сервере
  • Используйте HTML 5 и пропустите атрибут type в элементах скрипта
14 голосов
/ 18 мая 2009

В большинстве случаев тип MIME, отправляемый сервером, не имеет практического значения. Я бы пошел с application / javascript , что также рекомендуется RFC.

7 голосов
/ 18 января 2011

Если вы решите использовать application / javascript для js на своих страницах, IE7 и IE8 не будут запускать ваш скрипт! Обвиняйте Microsoft все, что вы хотите, но если вы хотите, чтобы большинство людей запускали ваши страницы, используйте text / javascript.

6 голосов
/ 28 сентября 2012

Раньше было language="javacript". Затем он изменился на type="text/javascript". Теперь это type="application/javacript". Хорошо, это становится глупым. Некоторые старые браузеры не распознают новый application/javascript, но все же распознают старый text/javascript. Я планирую продолжать использовать это, иначе я потрачу часы своего времени, пытаясь изменить КАЖДЫЙ экземпляр text/javascript на application/javascript.
Теперь однажды может произойти обратное. Когда-нибудь новейшие браузеры могут отказаться от старой техники, чтобы соответствовать строгим стандартам.
Но до тех пор, пока люди, просматривающие мой веб-сайт, не начнут жаловаться, что «с момента обновления моего браузера около 50% вашего веб-сайта исчезло», у меня нет никаких причин менять код на своем веб-сайте.

6 голосов
/ 18 мая 2009

Это был "текст / javascript", но он устарел (см. Список IANA ), и теперь он должен быть "application / javascript" (см. другой список IANA ).

...