Что такое тип javascript MIME для атрибута type тега скрипта? [дубликат]


этот вопрос уже есть ответ здесь:

Что такое MIME тип javascript?

более конкретно, что такое правильная вещь, чтобы поместить в атрибут " type из тега script? application/x-javascript и text/javascript Кажется, главные претенденты.

5 105

5 ответов:

Это распространенная ошибка. Тип MIME для javascript не был стандартизирован в течение многих лет. Это сейчас официально:" application / javascript".

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

Итак, суть в том, что type= "text / javascript" ничего не делает, пока javascript обеспокоен, но это часть спецификации для обоих HTML 4 и XHTML 1.0.

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

мое коллективное исследование предполагает:

  1. text/javascript Как указано в Keparo, он должен использоваться в html4 и xhtml1, если вы хотите его проверить. Хотя браузеры это игнорируют.
  2. application/javascript ожидается, что будет новый официальный тип MIME, если все согласятся и когда все догонит.
  3. application/x-javascript (x означает неофициальный) - это текущая ссылка MIME на стороне сервера для JavaScript.
  4. все ожидают, что, как обычно, Microsoft решит сделать что-то совершенно другое, чтобы еще больше запутать и набить этот вопрос.

резюме: на данный момент, если вы хотите, чтобы ваш html/xhtml работал в MSIE и проверял с помощью W3C, то объявите type="text/javascript". Если вы хотите, чтобы ваш веб-сервер знал, что вы имеете в виду javascript, то используйте application/x-javascript.

текст / javascript

Я считаю, что IE не принимает приложение / x-javascript

выбор языка сценариев

в теге скрипта я бы использовал текст / javascript. Во всяком случае, это появляется в спецификации HTML 4.0.

http://www.w3.org/TR/REC-html40/interact/scripts.html

[EDIT] смешно, как RFC что стандартизировано на application / javascript составляет 2 года, но текст / javascript все еще более распространен. Это еще один случай торжества обычаев над стандартами? Он также появляется в HTML5.

официальный RFC, который определяет тип Javascript MIME является RFC4329.

     
7.  JavaScript Media Types

7.1.  text/javascript (obsolete)

   Type name:               text
   Subtype name:            javascript
   Required parameters:     none
   Optional parameters:     charset, see section 4.1.
   Encoding considerations:
      The same as the considerations in section 3.1 of [RFC3023].

   Security considerations: See section 5.
   Interoperability considerations:
      None, except as noted in other sections of this document.

   Published specification: [JS15]
   Applications which use this media type:
      Script interpreters as discussed in this document.

   Additional information:

      Magic number(s):             n/a
      File extension(s):           .js
      Macintosh File Type Code(s): TEXT

   Person & email address to contact for further information:
      See Author's Address section.

   Intended usage:          OBSOLETE
   Restrictions on usage:   n/a
   Author:                  See Author's Address section.
   Change controller:       The IESG.

7.2.  application/javascript

   Type name:               application
   Subtype name:            javascript
   Required parameters:     none
   Optional parameters:     charset, see section 4.1.
   Encoding considerations:
      The same as the considerations in section 3.2 of [RFC3023].

   Security considerations: See section 5.
   Interoperability considerations:
      None, except as noted in other sections of this document.

   Published specification: [JS15]
   Applications which use this media type:
      Script interpreters as discussed in this document.

   Additional information:

      Magic number(s):             n/a
      File extension(s):           .js
      Macintosh File Type Code(s): TEXT

   Person & email address to contact for further information:
      See Author's Address section.

   Intended usage:          COMMON
   Restrictions on usage:   n/a
   Author:                  See Author's Address section.
   Change controller:       The IESG.