Атрибут type

Атрибут type указывает тип скрипта, который устанавливает элемент <script>: классический скрипт, модуль JavaScript, карта импорта.

Синтаксис

<script type="importmap | module | text/javascript">
…
</script>

Значения

importmap
Элемент содержит карту импорта.
module
Сообщает, что код является модулем JavaScript. Атрибут defer в этом случае не учитывается.
text/javascript
Указывает, что это «классический скрипт» содержащий код на языке JavaScript. Это значение используется по умолчанию и его добавлять не обязательно.

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

text/javascript

Пример

<!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Модуль JavaScript</title> <script type="module"> import {sayHello} from '/example/say.js'; document.getElementById('main').innerHTML = sayHello('Иван'); </script> </head> <body> <div id="main"></div> </body> </html>

В данном примере скрипт установлен как модуль. Содержимое файла say.js показано ниже.

export function sayHello(user) {
  return `Привет, ${user}!`;
}

Браузеры

Значение
importmap 89 89 76 16.4 108
module 79 63 50 11.1 67
text/javascript 4 12 1 4 1 1
Значение
importmap 89 108 63 16.4
module 61 60 45 10.3
text/javascript 4.4 4 12.1 3.2

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

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