@funkydance

Заработает ли скрипт после того как загрузится DOM?

Здравствуйте.

Есть небольшая задача. Но, не могу понять реализуема ли она.

Нужно после того как загрузилась вся страница DOM, создавать в теле скрипт:



Вопрос, заработает ли скрипт после построения всего DOM? Это что-то отложенной загрузки. Async, Defer не совсем то.

Нужно чтобы страница загружалась изначально без скрипта и только после DOM создавался.
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
Может быть как-то так? (Надо вставить куда-нибудь в тег <head>)
<script>
    document.addEventListener('DOMContentLoaded', () => {
  	var script = document.createElement('script');
        script.src = '/path/to/script';
        document.head.appendChild(script);
    });
</script>

Либо можно попробовать так:
<head>
<!-- ... -->
<!-- Скрипт, который надо загрузить после загрузки страницы -->
<script data-src="/path/to/script"></script>
<!-- ... -->
<script>
    document.addEventListener('DOMContentLoaded', () => {
        document.querySelectorAll('script[data-src]').forEach(elem => {
            elem.src = elem.dataset.src;
        });
    });
</script>
<!-- ... -->
</head>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@McBernar
Да, вы можете заинжектить скрипт после загрузки страницы, и он будет отлично работать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы