Атрибут nomodule

Атрибут 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>

В данном примере для старых браузеров, не понимающих модули, сделан дополнительный блок со скриптом.

Браузеры

16 61 48 11 60
61 60 45 11

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

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

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