Что лучше или удобнее использовать:
<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>
В противном случае сценарий может работать некорректно.