Элемент script
Синтаксис
<script type="..."> <!-- ... //--> </script> или <script type="..." src="..."></script>
Описание
Элемент script
(от англ. "script" ‒ «сценарий, скрипт») вставляет в HTML-документ скрипт (например, JavaScript), выполняемый на стороне пользователя.
Браузеры не поддерживающие скрипты выводят всё содержимое элемента script
вместе с остальным содержимым документа. В HTML, что бы избежать подобных ситуаций необходимо всё содержимое элемента «обернуть» в SGML комментарий (<!--
и //-->
). При этом открывающий тег комментария игнорируется интерпретатором JavaScript (строка программы в JS не может начинаться со знака «<
»), а вот перед закрывающим тегом комментария необходимо поставить две косые черты (//
‒ однострочный комментарий в JS) для того, что бы закрывающий тег не был бы воспринят JavaScript как ошибка (т.к. в JS есть оператор «--
»). В XHTML подобный вариант с тегами комментария недопустим.
Примечание
На случай неработоспособности скриптов (отключены или не поддерживаются) указывается элемент noscript
.
Условия использования
- Элемент скрипта может располагаться как в голове, так и в теле документа. При этом скрипт либо может быть вставлен в документ путём вкладывания кода в элемент
script
, либо присоединён к документу путём задания пустому элементу атрибута «src
» с местом расположения файла JS кода. Последний вариант является более удобным, так как уменьшает размер документа и время его загрузки (JS файл кэшируется браузером при первой загрузке). - Внутри данного тега запрещено использование (X)HTML разметки.
Поддержка браузерами
Спецификация
Верс. | Раздел |
---|---|
HTML | |
2.0 | |
3.2 | STYLE and SCRIPT |
4.01 | 18.2.1 The SCRIPT element DTD: Transitional
Strict
Frameset
|
5.0 | 4.11.1 The script element |
5.1 | 4.12.1. The script element |
XHTML | |
1.0 | 4.8. Script and Style elements DTD: Transitional
Strict
Frameset
|
1.1 | Extensible HyperText Markup Language |
Атрибуты
- async
- Скрипт выполняется асинхронно (только для внешних скриптов).
- charset
- Указывает кодировку внешнего файла со скриптами.
- crossorigin
- Определяет то как элемент обрабатывает crossorigin запросы.
- defer
- Указывает, что выполнение скриптов может начаться только после полной загрузки страницы (для внешних скриптов).
- language
- Указывает язык скриптов.
- nonce
- Криптографический нонс используемый в проверках Политики Безопасности Содержимого.
- src
- Указывает URL-адрес файла со скриптами.
- type
- Указывает MIME-тип скриптов.
- Глобальные атрибуты
- accesskey, class, contenteditable, data-*, dir, draggable, dropzone, id, inert, lang, spellcheck, style, tabindex, title, translate, xml:lang
Пример использования
<html>
<head>
<meta charset="utf-8">
<title>Элемент script</title>
</head>
<body>
<script type="text/javascript" src="message.js"></script>
</body>
</html>