Тег <script>
используется для встраивания ссылки на исполняемый скрипт на стороне клиента (например, JavaScript) в документе HTML или XHTML. Тег <script>
может появляться любое количество раз в <head>
или <body>
документа HTML.
Элемент <script>
должен содержать некоторый код или указывать на внешний файл (через атрибут src
). Элемент <script>
используется для добавления кода, который влияет на интерактивность и поведение веб-страниц.
Тип: | Строчный (но также может содержаться в <head> ) |
Контент: | Текст |
Открывающий тег: | Обязательный |
Закрывающий тег: | Обязательный |
Версия: | HTML 4, 4.01, 5 |
Скрипты на стороне клиента относятся к типу компьютерных программ, которые выполняются на стороне клиента веб-браузером пользователя. JavaScript — самый популярный клиентский язык скриптов в сети.
Синтаксис
Базовый синтаксис тега <script>
выглядит следующим образом:
HTML / XHTML: <script type="text/javascript"> ... </script>
Примеры написания кода тега <script>
:
<script type="text/javascript">
document.write("Hello World!");
</script>
Синтаксис (XHTML)
Есть некоторые важные различия в том, как HTML и XHTML работают с контентом внутри скриптов. В HTML тип контента объявлен как CDATA
, это означает, что сущности HTML не будут анализироваться. Однако в XHTML тип содержимого объявлен как #PCDATA
, что означает, что сущности будут проанализированы.
Чтобы убедиться, что содержимое тега <script>
анализируются правильно, когда он включен в документ XHTML, все специальные символы должны быть перекодированы — например, амперсанд (&
) должен быть закодирован как &
, символ >
в >
и т.д., или весь контент должен быть заключен в раздел CDATA
следующим образом:
<script type="text/javascript">
// <![CDATA[
... Код JavaScript вставляется сюда ...
// ]]>
</script>
src
, элемент <script>
не должен содержать еще один скрипт внутри тегов.
Специальные атрибуты тега
В следующей таблице приведены атрибуты, которые относятся к тегу <script>
:
Атрибут | Значение | Описание |
---|---|---|
async |
async |
Этот логический атрибут указывает, что сценарий должен выполняться асинхронно, как только он станет доступным. Только для внешних скриптов, это не влияет на встроенные скрипты. |
type |
content-type | Определяет язык скрипта. Наиболее распространенным значением является text/javascript , которое указывает язык JavaScript. |
charset |
charset | Определяет кодировку символов внешнего файла. Этот атрибут не должен быть указан, если атрибут src отсутствует. |
defer |
defer |
Этот логический атрибут указывает, что скрипт должен быть выполнен после загрузки документа. Этот атрибут не должен использоваться в скриптах, которые не имеют атрибута src . |
src |
URL | Определяет расположение внешнего файла скрипта. |
xml:space |
preserve |
Указывает, следует ли сохранять пробелы в элементе script. |
Глобальные атрибуты
Как и все другие HTML-теги, тег <script>
поддерживает все глобальные атрибуты в HTML5.
Атрибуты для событий
Тег <script>
так же поддерживает атрибуты событий в HTML5.
Поддержка браузеров
Тег <script>
поддерживается во всех основных браузерах.
<noscript>
, который предоставляет альтернативный контент для пользователей, у которых либо отключены скрипты в браузере, либо браузер не поддерживает скрипты на стороне клиента.