"<script type = 'text / javascript'>" неверно? - PullRequest
28 голосов
/ 24 июля 2011

На aminutewithbrendan , brendan eich делает комментарий от руки, подразумевая, что сценарии обслуживания как

<script type='text/javascript'></script>

неверно, поскольку "text/javascript" не является допустимым типом MIME, и он заявляет, что "application/javascript" является допустимым типом MIME.

Меня интересует только использование HTML5 в качестве типа документа .

  • Где типы MIME для <script> определены в спецификации html5 W3C?
  • Какова поддержка браузера для "text/javascript" и "application/javascript"?
  • Что следует использовать? Или мы просто не должны устанавливать type вообще?

Буквальная цитата от бренда: (1:48)

... или тип сценария равен application / javascript или application / ecmascript, это официальные типы MIME или один из тех, которые составлены из HTML4, такие как text / javascript ...

Связанный:

Объединение связанных ресурсов на самом деле не отвечает на все три вопроса.

Ответы [ 2 ]

31 голосов
/ 24 июля 2011

Где типы MIME для <script> определены в спецификации html5 W3C?

Нигде, у него нет списка (который включает в себя некоторые экспериментальные и устаревшие), но говорится, что вы можете использовать любой тип MIME, который вам нравится. MIME-типы определены IANA , а text/javascript официально помечен как устаревший в пользу application/javascript

Что такое поддержка браузера для "text / javascript" и "application / javascript"?

Недостаточно хорошо. Есть еще множество браузеров, которые не распознают последние. (Это, однако, проблема только с атрибутом type, вы можете правильно установить заголовок HTTP Content-Type, не беспокоясь).

Что следует использовать? В качестве альтернативы, мы просто не должны устанавливать тип вообще?

Поскольку вас интересует только HTML 5, просто полностью пропустите атрибут type. Это необязательно, и язык по умолчанию - JavaScript.

3 голосов
/ 18 августа 2011

Я думаю, что Брэндон (по крайней мере) частично неправ.В последнем черновом варианте HTML5 для редактора (15 августа 2011 г.) говорится:

Атрибут type задает язык сценария или формат данных.Если атрибут присутствует, его значение должно быть допустимым типом MIME.Параметр charset не должен быть указан.По умолчанию, который используется, если атрибут отсутствует, это «text / javascript».

Так что, если вы не включите атрибут type, значением по умолчанию будет «text / javascript».Если это значение по умолчанию, это должен быть допустимый тип MIME.

Какие другие допустимые типы MIME?В спецификации не приведен пример списка, но он указывает необходимый формат, когда говорит:

Строка является допустимым типом MIME, если она соответствует правилу типа носителя, определенному в разделе3.7 «Типы медиа» RFC 2616

О которых вы можете прочитать здесь:

http://www.ietf.org/rfc/rfc2616.txt

Редактировать: Квентин прав: для HTML5нет необходимости включать атрибут type, если вы используете Javascript.

...