Весь вопрос укладывается в заголовок. И чтобы добавить некоторого контекста: я не спрашиваю, что лучше всего в соответствии со спецификациями, а скорее, что работает лучше всего с учетом сочетания браузеров, развернутых в настоящее время.
Некоторые данные:
- Google использует
text/javascript
JS на своей домашней странице. - Google использует
text/javascript
в Google Документах. - Google использует
application/x-javascript
файлы JavaScript для обслуживания своих библиотек Ajax . - Yahoo использует
application/x-javascript
для обслуживания своего JS. - Yahoo использует
application/x-javascript
JavaScript, отображаемый на их домашней странице.
javascript
http
content-type
avernet
источник
источник
Ответы:
text/javascript
устарелоapplication/x-javascript
был экспериментальным, когда решал переехать в…application/javascript
это текущий официальный тип MIME для JSТем не менее, браузеры часто игнорируют
content-type
отправленные сервером и уделяют много вниманияtype
атрибуту (а некоторые еще не распознаютapplication/javascript
).Моя рекомендация:
type
атрибут из элементов скриптаNB: спецификация HTML противоречит стандарту MIME, и есть попытки вернуть его обратно,
text/javascript
чтобы это могло измениться в будущем.источник
type
атрибутом, таким образом игнорируяContent-type
поведение, было бы правильным.application/javascript
поэтому его указание заставит их проигнорировать скрипт. Пользовательские агенты не должны игнорировать Content-Type. Атрибут type сообщает им, чего ожидать. Если они его не поддерживают, им не следует беспокоиться об этом. Если сервер затем говорит, что это что-то другое, они должны продолжать это, а не то, что говорит HTML (по крайней мере, в соответствии с HTTP, вы можете смотреть на другую спецификацию, вы не предоставили никаких ссылок).script
элементу, на который я ссылался . Мое прочтение этого раздела отличается от того, что вы описываете; он, кажется, придает большое значениеtype
атрибуту и не упоминает о проверкеContent-Type
, за исключением определения кодировки символов. Я согласен с тем, что для пользовательского агента было бы разумно проверить, соответствует ли Content-Type ожидаемому, но я не нашел в спецификации HTML ничего, что требует или даже рекомендует это делать.В большинстве случаев тип mime, который отправляет сервер, практически не имеет значения. Я бы выбрал application / javascript , который также рекомендован RFC.
источник
Если вы решите использовать приложение / javascript для js на своих страницах, IE7 и IE8 не будут запускать ваш скрипт! Во всем вините Microsoft, но если вы хотите, чтобы большинство людей запускало ваши страницы, используйте текст / javascript.
источник
Раньше было
language="javacript"
. Затем он изменился наtype="text/javascript"
. Теперь это такtype="application/javacript"
. Хорошо, это становится немым. Некоторые старые браузеры не распознают новыеapplication/javascript
, но все же распознают старыеtext/javascript
. Я планирую продолжать использовать это, иначе я потрачу часы своего времени, пытаясь заменить КАЖДЫЙ экземплярtext/javascript
наapplication/javascript
.Теперь когда-нибудь может случиться обратное. Когда-нибудь новейшие браузеры могут отвергнуть старую технику, чтобы соответствовать строгим стандартам.
Но пока люди, просматривающие мой веб-сайт, не начнут жаловаться, что «с момента обновления моего браузера около 50% вашего веб-сайта исчезло», у меня нет мотива менять код на моем веб-сайте.
источник
Вот ответ на этот вопрос в 2020 году.
text/javascript
- это правильный тип MIME для JavaScript в соответствии со стандартом HTML , в котором говорится:А также :
Ведется работа по отражению этой реальности в RFC на уровне IETF: https://datatracker.ietf.org/doc/draft-ietf-dispatch-javascript-mjs/
Любое заявление о том, что «
text/javascript
является устаревшим», основывается на RFC 4329, который явно исправляется как в стандарте HTML, так и в упомянутом выше проекте IETF (то есть в предстоящем RFC).источник
Это был «текст / javascript», но он устарел (см. Список IANA ), и теперь он должен быть «application / javascript» (см. Другой список IANA ).
источник