HTML тег <script>

Значение и применение

Тег <script> используется для определения скрипта на стороне клиента (как правило на языке JavaScript). Элемент содержит внутри себя текст скрипта, либо он указывает на внешний файл скрипта, который задается с использованием атрибута src. Если элемент ссылается на внешний скрипт, то в этом случае элемент должен быть пустым.

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

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

Поддерживается во всех основных браузерах с 2015 года.

Отдельные значения (21) поддерживаются не везде — смотрите таблицу.

Показать браузеры
Совместимостьhtml.elements.script
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
script✓1✓12✓1

Версия 1 выпущена в 2004 г.

Примечание MDN (англ.)

Starting in Firefox 4, inserting <script> elements that have been created by calling document.createElement("script") no longer enforces execution in insertion order. This change lets Firefox properly abide by the specification. To make script-inserted external scripts execute in their insertion order, set .async=false on them.

✓≤12.1✓3✓18✓4✓≤12.1✓2✓1.0✓4.4✓2
async✓1✓12✓3.6✓15✓≤4✓18✓4✓14✓≤3.2✓1.0✓4.4✓≤3.2
attributionsrc✓125✓125×✓111×✓125×✓83×✓27.0✓125×
blocking✓105✓105×✓91✓18.2✓105×✓72✓18.2✓20.0✓105✓18.2
crossorigin✓19✓14✓14✓12✓6

Версия 6 выпущена в 2012 г.

Примечание MDN (англ.)

The crossorigin attribute was implemented in WebKit in WebKit bug 81438.

✓25✓14✓12✓6

Версия 6 выпущена в 2012 г.

Примечание MDN (англ.)

The crossorigin attribute was implemented in WebKit in WebKit bug 81438.

✓1.5✓4.4✓6

Версия 6 выпущена в 2012 г.

Примечание MDN (англ.)

The crossorigin attribute was implemented in WebKit in WebKit bug 81438.

defer✓1

Версия 1 выпущена в 2008 г.

Примечание MDN (англ.)

Chrome does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓12✓3.5

Версия 3.5 выпущена в 2009 г.

Примечание MDN (англ.)

Since Firefox 3.6, the defer attribute is ignored on scripts that don't have the src attribute. However, in Firefox 3.5 even inline scripts are deferred if the defer attribute is set.

✓15

Версия 15 выпущена в 2013 г.

Примечание MDN (англ.)

Opera does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓3✓18

Версия 18 выпущена в 2012 г.

Примечание MDN (англ.)

Chrome Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓4✓14

Версия 14 выпущена в 2013 г.

Примечание MDN (англ.)

Opera Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓2✓1.0

Версия 1.0 выпущена в 2013 г.

Примечание MDN (англ.)

Samsung Browser does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓4.4

Версия 4.4 выпущена в 2013 г.

Примечание MDN (англ.)

WebView Android does not defer scripts with the defer attribute when the page is served as XHTML (application/xhtml+xml), see bug 41253514 and bug 41408348

✓2
fetchpriority✓101✓101✓132✓87✓17.2✓101✓132✓70✓17.2✓19.0✓101✓17.2
integrity✓45✓17✓43✓32✓11.1✓45✓43✓32✓11.3✓5.0✓45✓11.3
Signature-based integrity (Ed25519 public key values)✓141✓141×✓125×✓141×✓93×✓30.0✓141×
nomodule✓61✓16✓60✓48✓11✓61✓60✓45✓11✓8.0✓61✓11
referrerpolicy✓70✓79✓65✓57✓14✓70✓65✓49✓14✓10.0✓70✓14
no-referrer-when-downgrade✓70✓79×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓57×✓70×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓49×✓10.0✓70×
origin-when-cross-origin✓70✓79×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓57×✓70×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓49×✓10.0✓70×
unsafe-url✓70✓79×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓57×✓70×

Версия 65 выпущена в 2019 г. — Удалено в 92

✓49×✓10.0✓70×
src✓1✓12✓1✓15✓≤4✓18✓4✓14✓≤3.2✓1.0✓4.4✓≤3.2
type✓1✓12✓1✓15✓≤4✓18✓4✓14✓≤3.2✓1.0✓4.4✓≤3.2
importmap✓89✓89✓108✓75✓16.4✓89✓108✓63✓16.4✓15.0✓89✓16.4
integrity✓127✓127✓138✓113✓18✓127✓138✓84✓18✓28.0✓127✓18
Multiple import maps✓133✓133◐150

Версия 150 выпущена в 2026 г. — Требуется включение флага

✓118✓18.4✓133×✓88✓18.4✓29.0✓133✓18.4
module✓61

Версия 61 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓79

Версия 79 выпущена в 2020 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

Версия 16 выпущена в 2017 г. — Удалено в 79

✓60✓48

Версия 48 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓10.1

Версия 10.1 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts do not load when the page is served as XHTML (application/xhtml+xml).

✓61

Версия 61 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓60✓45

Версия 45 выпущена в 2018 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓10.3

Версия 10.3 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts do not load when the page is served as XHTML (application/xhtml+xml).

✓8.0

Версия 8.0 выпущена в 2018 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓61

Версия 61 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts without the async attribute do not load when the page is served as XHTML (application/xhtml+xml). See bug 40518469.

✓10.3

Версия 10.3 выпущена в 2017 г.

Примечание MDN (англ.)

Module scripts do not load when the page is served as XHTML (application/xhtml+xml).

speculationrules✓109

Версия 109 выпущена в 2023 г.

Версия 105 выпущена в 2022 г. — Удалено в 109; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

✓109

Версия 109 выпущена в 2023 г.

Версия 105 выпущена в 2022 г. — Удалено в 109; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

×✓95

Версия 95 выпущена в 2023 г.

Версия 91 выпущена в 2022 г. — Удалено в 95; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓109

Версия 109 выпущена в 2023 г.

Версия 103 выпущена в 2022 г. — Удалено в 109; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

×✓74

Версия 74 выпущена в 2023 г.

Версия 71 выпущена в 2022 г. — Удалено в 74; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓21.0

Версия 21.0 выпущена в 2023 г.

Версия 20.0 выпущена в 2023 г. — Удалено в 21.0; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

✓109

Версия 109 выпущена в 2023 г.

Версия 103 выпущена в 2022 г. — Удалено в 109; Частичная поддержка

Примечание MDN (англ.)

Initial support included same-origin prerendering only.

×
eagerness✓121✓121×✓107◐26.2

Версия 26.2 выпущена в 2025 г. — Частичная поддержка; Требуется включение флага

Примечание MDN (англ.)

Only conservative is supported for document rules (though moderate automatically falls back to conservative). Only eager and immediate is supported for list rules.

✓121×✓81◐26.2

Версия 26.2 выпущена в 2025 г. — Частичная поддержка; Требуется включение флага

Примечание MDN (англ.)

Only conservative is supported for document rules (though moderate automatically falls back to conservative). Only eager and immediate is supported for list rules.

✓25.0✓121×
expects_no_vary_search key✓127

Версия 127 выпущена в 2024 г.

Версия 121 выпущена в 2024 г. — Удалено в 127; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

✓127

Версия 127 выпущена в 2024 г.

Версия 121 выпущена в 2024 г. — Удалено в 127; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

×✓113

Версия 113 выпущена в 2024 г.

Версия 107 выпущена в 2024 г. — Удалено в 113; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

×✓127

Версия 127 выпущена в 2024 г.

Версия 121 выпущена в 2024 г. — Удалено в 127; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

×✓84

Версия 84 выпущена в 2024 г.

Версия 81 выпущена в 2024 г. — Удалено в 84; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

×✓28.0

Версия 28.0 выпущена в 2025 г.

Версия 25.0 выпущена в 2024 г. — Удалено в 28.0; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

✓127

Версия 127 выпущена в 2024 г.

Версия 121 выпущена в 2024 г. — Удалено в 127; Частичная поддержка

Примечание MDN (англ.)

Supported for prefetch only.

×
prefetch✓110✓110×✓96◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓103×✓71◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓20.0✓103×
prerender✓105✓105×✓91×✓103×✓71×✓20.0◐135

Версия 135 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Can be enabled via a Java API rather than a Web API. See https://goo.gle/android-prerender

×
referrer_policy key✓111✓111×✓97◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓111×✓75◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓22.0✓111×
relative_to key✓121✓121×✓107◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓121×✓81◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓25.0✓121×
requires✓110✓110×✓96×✓103×✓71×✓20.0✓103×
anonymous-client-ip-when-cross-origin✓110××××✓103×✓71××✓103×
source key is optional✓122✓122×✓108◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓122×✓81◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓26.0✓122×
tag✓136✓136×✓121◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓136×✓90◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓29.0✓136×
target_hint key◐138

Версия 138 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

◐138

Версия 138 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

×◐122

Версия 122 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

×◐138

Версия 138 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

×◐91

Версия 91 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

×◐30.0

Версия 30.0 выпущена в 2026 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

◐138

Версия 138 выпущена в 2025 г. — Частичная поддержка

Примечание MDN (англ.)

Only "_blank" and "_self" are supported and only for prefetch.

×
urls✓109✓109×✓95◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓103×✓71◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓20.0✓103×
where✓121✓121×✓107◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓121×✓81◐26.2

Версия 26.2 выпущена в 2025 г. — Требуется включение флага

✓25.0✓121×

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

Атрибуты

Атрибут Значение Описание
async async Логический атрибут, который указывает, что скрипт выполняется асинхронно (только для внешних скриптов).
charset Устарело charset Задает кодировку символов, используемых во внешнем файле скрипта.
crossorigin anonymous
use-credentials
Атрибут определяет, используется ли CORS при загрузке скрипта.
defer defer Является логическим атрибутом, который указывает, что скрипт выполнится, когда страница загрузится полностью (только для внешних скриптов).
src URL Указывает URL адрес внешнего файла скрипта (допускается использование как относительных, так и абсолютных адресов).
type media_type Указывает MIME-тип скрипта.

Примеры, попробуйте сами

Изменение оформления абзаца

Нажмите ▶. Измените разметку во вкладке HTML и сравните результат.

index.html
HTML
<p id="test">Нажми кнопку, чтобы изменить параграф.</p>

<button>Нажми меня!</button>
main.js
JavaScript
function chg() {
    var x = document.getElementById('test')
    x.style.color = 'white'
    x.style.backgroundColor = 'orange'
}

document.querySelector('button').addEventListener('click', chg)

Отличия HTML 4.01 от HTML 5

В HTML 5 был добавлен атрибут async и удалён атрибут xml:space. В HTML5, атрибут type больше не требуется для JavaScript (значение атрибута по умолчанию - "text/javascript").

Значение CSS по умолчанию

CSS
script {
display: none;
}

Поддержка глобальных атрибутов

Элемент поддерживает "глобальные атрибуты".

Атрибуты событий

Элемент поддерживает "атрибуты событий".