/html/script:> Вставка скриптов_

Элемент script

Синтаксис

HTML
XHTML
<script type="...">
  <!--
  ...
  //-->
</script>
или
<script type="..." src="..."></script>

Описание

Элемент script (от англ. "script" ‒ «сценарий, скрипт») вставляет в HTML-документ скрипт (например, JavaScript), выполняемый на стороне пользователя.

Браузеры не поддерживающие скрипты выводят всё содержимое элемента script вместе с остальным содержимым документа. В HTML, что бы избежать подобных ситуаций необходимо всё содержимое элемента «обернуть» в SGML комментарий (<!-- и //-->). При этом открывающий тег комментария игнорируется интерпретатором JavaScript (строка программы в JS не может начинаться со знака «<»), а вот перед закрывающим тегом комментария необходимо поставить две косые черты (// ‒ однострочный комментарий в JS) для того, что бы закрывающий тег не был бы воспринят JavaScript как ошибка (т.к. в JS есть оператор «--»). В XHTML подобный вариант с тегами комментария недопустим.

Примечание

На случай неработоспособности скриптов (отключены или не поддерживаются) указывается элемент noscript.

Условия использования

  1. Элемент скрипта может располагаться как в голове, так и в теле документа. При этом скрипт либо может быть вставлен в документ путём вкладывания кода в элемент script, либо присоединён к документу путём задания пустому элементу атрибута «src» с местом расположения файла JS кода. Последний вариант является более удобным, так как уменьшает размер документа и время его загрузки (JS файл кэшируется браузером при первой загрузке).
  2. Внутри данного тега запрещено использование (X)HTML разметки.


Поддержка браузерами

Chrome
Поддерж.
Firefox
Поддерж.
Opera
Поддерж.
Maxthon
Поддерж.
IExplorer
Поддерж.
Safari
Поддерж.
iOS
Поддерж.
Android
Поддерж.

Спецификация

Верс. Раздел
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, contextmenu, data-*, dir, draggable, dropzone, hidden, id, inert, lang, spellcheck, style, tabindex, title, translate, xml:lang

Пример использования

Листинг кода
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Элемент script</title>
</head>
<body>
<script type="text/javascript" src="message.js"></script>
</body>
</html>
Элемент script