Вам нужен атрибут типа вообще? Если вы используете HTML5, нет. Иначе да. HTML 4.01 и XHTML 1.0 задают атрибут type
, как требуется, в то время как HTML5 имеет его как необязательный, по умолчанию text/javascript
. HTML5 теперь широко применяется, поэтому, если вы используете тип документа HTML5, <script>...</script>
является допустимым и хорошим выбором.
Что касается атрибута type, тип MIME application/javascript
, зарегистрированный в 2006 году, предназначен для замены text/javascript
и поддерживается текущими версиями всех основных браузеров (включая Internet Explorer 9). Цитата из соответствующего RFC :
Таким образом, этот документ определяет текст / javascript и text / ecmascript, но помечает их как «устаревшие». Использование экспериментальных и незарегистрированных типов носителей, как указано в части выше, не рекомендуется. Типы носителей,
* application/javascript
* application/ecmascript
, которые также определены в этом документе, предназначены для общего пользования и должны использоваться вместо них.
Однако IE до версии 8 включительно не выполняет скрипт внутри элемента <script>
с атрибутом type
application/javascript
или application/ecmascript
, поэтому, если вам требуется поддержка старого IE, вы ' застрял с text/javascript
.