Тег <script> определяет скрипты, исполняемые на стороне пользователя, например, JavaScript.
Элемент <script> либо непосредственно содержит сам скрипт, либо при помощи атрибута src указывает на внешний файл скрипта.
Если определяется атрибут src, то элемент <script> должен быть пустым.
Также, обратите внимание на элемент <noscript>, который предназначен для пользователей, браузер которых не поддерживает скрипты.
Существует несколько способов исполнения внешних скриптов:
- Если установлен атрибут async="async", то скрипт исполняется асинхронно, т. е. скрипт будет исполняться одновременно с загрузкой страницы
- Если атрибут async не определен, а атрибут defer="defer", то скрипт будет исполнен сразу же, как будет закончена загрузка страницы
- Если атрибуты async или defer не определены, то скрипт загружается и исполняется сразу же, до того как браузер продолжит готовит страницу к отображению
Разница между HTML 4.01 и HTML5
Атрибут type в HTML 4 обязателен, но оптционален в HTML5.
Атрибут async был добавлен в HTML5.
Различия между HTML и XHTML
В XHTML контент внутри скриптов декларируется как данные #PCDATA (вместо CDATA). Это означает, что сущности будут интерпретированы.
Это означает, что в XHTML все специальные символы должны быть кодированы, либо весь контент должен быть размещен в секции CDATA:
<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
// некий код
}
//]]>
</script>
Атрибуты тега <script>
Атрибут | Описание |
---|---|
async | Устанавливает асинхронный режим исполнения скрипта |
charset | Определяет кодировку символов скрипта |
defer | Устанавливает отложенный режим запуска скрипта, пока не будет загружена страница |
src | Определяет URL внешнего файла скрипта |
type | Определяет медиа-тип скрипта |
Общие атрибуты
Тег <script> поддерживает общие атрибуты.
HTML пример использования
Вставляет в код страницы надпись "Hello JavaScript!" при помощи JavaScript:
<script>
document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>