Что лучше или удобнее использовать:
<script type="text/javascript">...</script>
или
<script>...</script>
Что лучше или удобнее использовать:
<script type="text/javascript">...</script>
или
<script>...</script>
<!doctype html>нет необходимости использовать подсказку типа MIME type="text/javascript"для <script>тега, поскольку она применяется по умолчанию. С другой стороны (не HTML5) это желательно и рекомендуется (со ссылкой на подсказку типа MIME type="text/javascript").
Ответы:
Вам вообще нужен атрибут типа? Если вы используете HTML5, нет. В противном случае да. HTML 4.01 и XHTML 1.0 определяют typeатрибут как обязательный, в то время как HTML5 имеет его как необязательный, по умолчанию text/javascript. HTML5 сейчас широко внедрен, поэтому, если вы используете doctype HTML5, <script>...</script>это правильный и хороший выбор.
Что касается того, что должно быть в атрибуте type, то тип MIME, application/javascriptзарегистрированный в 2006 году, предназначен для замены text/javascriptи поддерживается текущими версиями всех основных браузеров (включая Internet Explorer 9). Цитата из соответствующего RFC :
Таким образом, этот документ определяет text / javascript и text / ecmascript, но отмечает их как «устаревшие». Использование экспериментальных и незарегистрированных типов носителей, перечисленных в части выше, не рекомендуется. Типы медиа,
* application/javascript * application/ecmascriptкоторые также определены в этом документе, предназначены для общего использования и должны использоваться вместо них.
Однако IE до версии 8 включительно не выполняет скрипт внутри <script>элемента с typeатрибутом или application/javascriptили application/ecmascript, поэтому, если вам нужно поддерживать старый IE, вы застряли с text/javascript.
typeАтрибут вам не «нужен» . Проверка на соответствие HTML4.01 или XHTML 1.0 - это не то, что вам больше нужно делать, и все браузеры будут поддерживать ваш тег безtext/javascript
typeпотому что он работает во всех браузерах. Может, это был кто-то другой.
Оба будут работать, но стандарт xhtml требует, чтобы вы также указали type:
<script type="text/javascript">..</script>
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
type = content-type [CI] Этот атрибут определяет язык сценариев содержимого элемента и переопределяет язык сценариев по умолчанию. Язык сценариев определяется как тип контента (например, «текст / javascript»). Авторы должны указать значение для этого атрибута. Для этого атрибута нет значения по умолчанию.
Замечает выделение выше.
http://www.w3.org/TR/html4/interact/scripts.html
Примечание: Начиная с HTML5 (далеко), typeатрибут не является обязательным и используется по умолчанию.
Вам нужно использовать, <script type="text/javascript"> </script>если вы не используете html5. В этом случае вам предлагается предпочесть <script> ... </script>(потому что атрибут type указан по умолчанию для этого значения)
В последней версии Firefox я должен использовать:
<script type="text/javascript">...</script>
В противном случае сценарий может работать некорректно.