Атрибут nomodule предназначен для браузеров, которые не поддерживают модули JavaScript. Тем самым достигается оптимизация — современные браузеры загружают только модульные скрипты, а устаревшие браузеры, не поддерживающие модули, — обычные скрипты.
Атрибут nomodule полезен для постепенного перехода на модульный JavaScript, сохраняя совместимость со старыми браузерами.
Синтаксис
<script nomodule>
…
</script>
Значения
Нет.
Пример
<!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>
<script nomodule>
document.getElementById('main').innerHTML = 'Привет, Иван!';
</script>
</head>
<body>
<div id="main"></div>
</body>
</html>
В данном примере для старых браузеров, не понимающих модули, сделан дополнительный блок со скриптом.
Браузеры
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.