2010-02-15 2 views
142
<script type="text/javascript"> 
    /* ... */ 
</script> 

противHTML-тег сценария: тип или язык (или опустить оба)?

<script language="Javascript"> 
    /* ... */ 
</script> 

Какие следует использовать и почему?

(редактировать) Или третий вариант: опуская либо из них, такие, как пример кода в ссылке API JQuery в:

<script src="http://code.jquery.com/jquery-latest.js"></script> 

ответ

140

Атрибут language устарел в течение длительного времени, и должны не используется.

Когда W3C работал над HTML5, они обнаружили, что все браузеры имеют «text/javascript» в качестве сценария по умолчанию type, поэтому they standardized it to be the default value. Следовательно, вам также не нужно type.

Для страниц в XHTML 1.0 или HTML 4.01 отсутствует type считается недопустимым. Попробуйте validating следующее:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
<script src="http://example.com/test.js"></script> 
</head> 
<body/> 
</html> 

Вы будете проинформированы о следующей ошибке:

Line 4, Column 41: required attribute "type" not specified

Так что если вы поклонник стандартов, используйте его. Это не должно иметь практического эффекта, но, если есть сомнения, может также идти по спецификации.

+7

Если вы используете HTML5, а скрипт - это JavaScript, указание «type» совершенно необязательно, поскольку [text/javascript по умолчанию] (http://www.w3.org/TR/html5/scripting-1. HTML #-скрипт-элемент). –

2

Атрибут используется для определения типа MIME в документе HTML. В зависимости от того, какой тип DOCTYPE вы используете, значение типа требуется для проверки HTML-документа.

Атрибут языка позволяет браузеру знать, на каком языке вы используете (Javascript vs. VBScript), но не обязательно необходим, и IIRC устарел.

+0

Тип MIME уже указывает язык. Атрибут языка является избыточным. –

34

HTML4/XHTML1 требует

<script type="...">...</script> 

HTML5 сталкивается с тем, что есть только один язык сценариев в Интернете, и позволяет

<script>...</script> 

последний работает в любом браузере, который поддерживает скрипты (NN2 +).

+23

HTML5 по-прежнему поддерживает «Другие языки сценариев» в Интернете., Но по умолчанию используется тип 'text/javascript', если тип явно не определен. –

+5

Несомненно. Я хотел сказать, что HTML4/XHTML1 не захотела сделать JavaScript по умолчанию по причинам теоретической чистоты, а HTML5 - более компромиссным. – Ms2ger

+0

Каковы другие языки сценариев для Интернета? –

Смежные вопросы