Stack Overflow на русском Asked by Illia on January 1, 2022
Динамически добавляю скрипт в документ.
script.text = "...";
), он запускается сразу же. script.src = "...";
), он запустится после того, как закончит выполняться мой. Т.е. в примере внизу я получу “0 1 2” и “3 3 3” соответственно (в 1.js та же строка – “document.body.innerHTML += i”).
<body>
<script>
for (i = 0; i < 3; i++){
var script = document.createElement('script');
script.src = "1.js";
// script.text = "document.body.innerHTML += i";
document.body.append(script);
};
</script>
</body>
Почему так задумано (я это где-то пропустил)? И как мне запустить 1.js сразу же после добавления?
попробуйте добавить async, тоесть браузер при возможности запускает скрипт асинхронно. Это означает, что указанный в атрибуте src файл будет выполняться без ожидания загрузки и отображения веб-страницы
Answered by Yuriy Chaban on January 1, 2022
при добавления скрипта с урлом, браузер обращается на этот урл и выполняет его ассинхронно вашему коду. это можно увидеть в деббагере браузера Chrome -> Network -> XHR.
сразу выполнить удаленный скрипт невозможно в данном контексте.
Answered by tcpack4 on January 1, 2022
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP