Элемент | ||||||
<script> | 3+ | 1+ | 3.5+ | 1+ | 1+ | 1+ |
HTML тег <script>
Элемент <script> (от англ. "script" ‒ «сценарий, скрипт») определяет скрипты, исполняемые на стороне пользователя, например, JavaScript.
Элемент <script> либо непосредственно содержит сам скрипт, либо при помощи атрибута src указывает на внешний файл скрипта. Последний вариант является более удобным, так как уменьшает размер документа и время его загрузки (JS файл кэшируется браузером при первой загрузке). Если элемент ссылается на внешний скрипт, то в этом случае элемент должен быть пустым. Сам внешний файл должен содержать только JavaScript-код (без тегов <script> и </script>).
Существует несколько способов исполнения внешних скриптов:
- Если установлен атрибут async="async", то скрипт исполняется асинхронно, т. е. скрипт будет исполняться одновременно с загрузкой страницы
- Если атрибут async не определен, а атрибут defer="defer", то скрипт будет исполнен сразу же, как будет закончена загрузка страницы
- Если атрибуты async или defer не определены, то скрипты загружаются и исполняются в том порядке, в котором они расположены в HTML-коде
Элемент <script> может располагаться как в секции <head>, так и в <body> HTML-документа в неограниченном количестве. В большинстве случаев местоположение скрипта никак не сказывается на работу программы. Однако скрипты, которые должны выполняться в первую очередь, обычно помещают в элемент <head> документа.
Примечание: На случай неработоспособности скриптов (отключены или не поддерживаются) указывается элемент <noscript>.
Синтаксис
<script>
JavaScript-код
</script>
<script src="URL-адрес"></script>
Закрывающий тег
Обязателен.
Атрибуты
- asyncHTML5
- Логический атрибут, который указывает, что скрипт выполняется асинхронно (только для внешних скриптов).
- charset
- Задает кодировку символов, используемых во внешнем файле скрипта.
- crossorigin
- Атрибут определяет, используется ли CORS при загрузке скрипта.
- defer
- Откладывает выполнение скрипта до тех пор, пока вся страница не будет загружена полностью.
- languageУстарел
- Устанавливает язык программирования на котором написан скрипт.
- src
- Указывает URL адрес внешнего файла скрипта (допускается использование как относительных, так и абсолютных адресов).
- type
Указывает MIME-тип скрипта.
Для этого элемента доступны глобальные атрибуты и события.
Стилизация по умолчанию
Большинство браузеров отобразит элемент <script> со следующими значениями CSS по умолчанию:
script {
display: none;
}
Различия между HTML 4.01 и HTML5
В HTML 5 был добавлен атрибут async и удалён атрибут xml:space. В HTML5, атрибут type больше не требуется для JavaScript (значение атрибута по умолчанию - "text/javascript").
Пример использования:
JavaScript может менять стили:
Пример HTML:
Попробуй сам<script>
function setColor() {
document.getElementById("demo").style.backgroundColor = "red";
}
</script>
Спецификации
Спецификация | Статус |
---|---|
HTML 4.01 (W3C) | Рекомендация |
HTML5 (W3C) | Рекомендация |
HTML 5.1 (W3C) | Рекомендация |
Поддержка браузерами
Попробуйте сами - Примеры
Как подключить внешний файл к HTML-документу:
Внешний файл script.js
Как запустить скрипт во время загрузки HTML-документа:
Запуск скрипта
Как отобразить альтернативный текст пользователям, браузер которых не поддерживает скрипты:
Элемент noscript
Учебник HTML
HTML уроки: HTML JavaScript