Тег <script>
Описание
Тег <script>
предназначен для встраивания или подключения исполняемого JavaScript-кода в HTML-документ. Также может использоваться для других скриптовых языков (ранее использовался для VBScript). Поддерживает как встроенный код, так и внешние файлы.
<script>
alert('Привет, мир!');
</script>
<script src="app.js"></script>
<!-- Встроенный скрипт -->
<script>
document.addEventListener('DOMContentLoaded', function() {
console.log('DOM загружен');
});
</script>
<!-- Внешний скрипт с defer -->
<script src="main.js" defer></script>
<!-- Модульный скрипт -->
<script type="module" src="app.mjs"></script>
<!-- Строгая проверка целостности -->
<script
src="https://example.com/script.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/ux..."
crossorigin="anonymous">
</script>
Ключевые особенности:
- Может располагаться в
<head>
или<body>
- Без атрибутов
async/defer
блокирует парсинг HTML - Поддерживает динамическое создание через JavaScript
- Тип "module" включает поддержку ES6 модулей
- Может содержать не-JavaScript код при указании type
Рекомендации по использованию:
- Подключайте скрипты перед закрывающим
</body>
(если нетdefer/async
) - Используйте
defer
для скриптов, зависящих от DOM - Для критически важного кода используйте встроенные скрипты
- Всегда указывайте атрибут
type
для не-JavaScript контента - Используйте Subresource Integrity для CDN-скриптов
<!DOCTYPE html>
<html>
<head>
<script src="analytics.js" async></script>
</head>
<body>
<!-- Контент -->
<script src="main.js" defer></script>
</body>
</html>
Тег <script>
является фундаментальным элементом для добавления интерактивности на веб-страницы, поддерживая различные стратегии загрузки и выполнения JavaScript-кода.
Атрибуты
async | Асинхронное выполнение скрипта |
crossorigin | Настройки CORS для скрипта |
defer | Отложенное выполнение скрипта |
integrity | Контрольная сумма для проверки целостности |
nomodule | Не выполнять в поддерживающих модули браузерах |
referrerpolicy | Политика отправки referrer |
src | URL внешнего скрипта |
type | MIME-тип скрипта |
accesskey | Горячая клавиша для активации |
class | CSS-классы для стилизации |
id | Уникальный идентификатор |
style | Инлайновые стили |
title | Всплывающая подсказка |
charset | Кодировка символов (устарел) |
language | Язык скрипта (устарел) |
Поддержка браузерами
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
3.0 | 1.0 | 3.0 | 1.0 | 1.0 |