Должен ли я включить type = "text / javascript" в мои теги SCRIPT? - PullRequest
15 голосов
/ 12 июня 2009

Я прочитал рекомендацию Крокфорда по JavaScript , и он заявил:

Нет необходимости использовать атрибуты языка или типа. Именно сервер, а не тег сценария определяет тип MIME.

Но я никогда не видел, чтобы кто-нибудь опускал атрибут type в своем теге <script> ...

Ребята, вы включаете type? Почему (нет)?

Ответы [ 6 ]

10 голосов
/ 12 июня 2009

Вы неправильно поняли, что имел в виду Крокфорд, он не сказал, что атрибут type полностью недействителен, просто он неверен. Тип MIME для JavaScript: application/javascript (или application/ecmascript, который я сейчас не помню).

Обычно используется text/javascript, который браузеры будут обрабатывать без каких-либо проблем, так как это долгое время было стандартом defacto .

Что касается тега <script src="...", он является избыточным, поскольку сервер определяет тип файла MIME, и именно с этим затем будет работать браузер.

Он лучше всего объясняет это в одном из своих видео на Театре YUI (http://developer.yahoo.com/yui/theater/). Я точно не помню, о чем он говорил, я думаю, что это было в продвинутой серии JavaScript (но да, я наблюдал за ними все несколько раз, чтобы они как бы расплывались друг в друге).

Так что если вы хотите написать действительный XHTML, вам нужно предоставить что-то вроде text/javascript, но это не официальный MIME-тип языка JavaScript.

8 голосов
/ 12 июня 2009

Если скрипт встроен в страницу, совет Крокфорда не имеет значения.

Если вы хотите написать соответствующий стандарту HTML, он все равно не актуален.

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

Перейдя по ссылке, эта страница немного показывает свой возраст. Например:

<script src=filename.js> теги должны быть помещен так поздно в теле, как возможный. Это уменьшает влияние задержки, вызванные загрузкой скрипта на другие компоненты страницы.

«Современный» подход заключается в использовании jQuery (или аналогичного стиля) для выполнения обработки после загрузки документа, что автоматически решает эту проблему, позволяя размещать тег script везде, где это логично.

5 голосов
/ 23 февраля 2013

В спецификации HTML5 сказано, что по умолчанию type равно text/javascript ... поэтому в HTML5 вы можете оставить это поле пустым во всех случаях, когда вы, на самом деле, пишете сценарии в Javascript. См. спецификацию для получения дополнительной информации.

В HTML4 атрибут type является обязательным , поэтому вы должны включить его в этом случае, если вас беспокоит наличие «правильного» HTML, очевидно, если Крокфорд говорит, что атрибут не нужен, то есть В этом случае нет явного недостатка в неверном HTML.

4 голосов
/ 12 июня 2009

Я использую атрибут type, поскольку он необходим для корректного HTML. Но практически это бесполезно.

2 голосов
/ 12 июня 2009

Атрибут type необходим для проверки HTML и XHTML, поэтому я всегда пишу его

0 голосов
/ 12 июня 2009

Я также буду использовать атрибут type, потому что иногда в Firefox коды javascript не работают. Используя это, я решил некоторые проблемы совместимости браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...