Ответ 1
Вероятно, потому что HTML5 не требует атрибута type
на элементах <script>
(по умолчанию он равен "text/javascript"
).
Например здесь код выглядит следующим образом:
<html lang="en">
<head>
<!-- whatever -->
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
</head>
<!-- whatever -->
Обратите внимание, что <script>
должен содержать атрибут type
(возможно, установлен в "text/javascript"
), но он отсутствует здесь.
Это не единственный пример, который я видел. Такой код делает редактор Visual Studio недовольным - он подчеркивает <script>
и говорит, что должен быть атрибут type
. Мне также очень интересно.
Почему type
часто опускается? Что произойдет, если я добавлю type="text/javascript"
- будет jQuery сломать или что-то еще?
Вероятно, потому что HTML5 не требует атрибута type
на элементах <script>
(по умолчанию он равен "text/javascript"
).
В HTML 5 теперь по умолчанию установлено, что script будет иметь тип JavaScript, поэтому нет необходимости его указывать. HTML 4.01 действительно требует этого, кажется.
Смотрите здесь: http://www.w3.org/TR/html401/interact/scripts.html#h-18.2.1
Это больше не является требованием в html5.
http://www.w3.org/html/wg/drafts/html/master/scripting-1.html
Тег type
не является обязательным.
Языки программирования по умолчанию во всех браузерах были JavaScript, так что это по умолчанию. В XHTML этот атрибут необходим и не нужен. В HTML лучше оставить его.
Браузеры будут знать, что это Javascript.
Visual Studio может быть недовольна, потому что она ленива и нуждается в анализе кода внутри тега script
, и intellisense также должен работать, поэтому лучше, когда вы предоставляете это type
напрямую, вместо того, чтобы позволить VS догадаться, какой язык вы используете, т.е. text/vbscript
.
Вы можете написать страницу html
с расширенными сценариями vb
в Visual Studio.
http://www.w3schools.com/vbscript/default.asp.