Атрибуты Async и Defer в теге скрипта
Привет всем, сегодня я собираюсь поговорить об атрибутах async и defer, которые вы можете использовать в тегах script, чтобы изменить поведение по умолчанию в который браузер анализирует html, загружает и выполняет файлы JS.
Сценарий 1. Ни один из атрибутов не используется
В приведенном выше сценарии браузер начнет синтаксический анализ html, и как только он встретит тег script, синтаксический анализ HTML остановится, файл js будет загружен, а затем выполнен. Сообщите, что парсинг html возобновится.
Сценарий 2. Использование асинхронного атрибута
В приведенном выше случае, когда браузер встречает тег script, он не останавливает синтаксический анализ HTML, и загрузка будет происходить параллельно. Как только сценарий загружен, синтаксический анализ будет заблокирован, и сценарий будет выполнен. Анализ возобновится только после завершения выполнения скрипта.
Сценарий 3. Использование атрибута отсрочки
В этом случае парсинг html не остановится, пока скрипт скачивается и даже выполняется. По сути, поток будет выглядеть примерно так, начнется синтаксический анализ, а затем, как только встретится тег скрипта, файл js будет загружен после того, как скрипт будет выполнен, и ничто из этого не будет блокировать синтаксический анализ HTML.
На этом все, надеюсь, вы сегодня узнали что-то новое :)