Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка JS, после DOMContentLoaded (https://javascript.ru/forum/misc/72985-zagruzka-js-posle-domcontentloaded.html)

pokk 12.03.2018 08:28

Загрузка JS, после DOMContentLoaded
 
Периодически бывает, что DOMContentLoaded загрузился быстрее, того как script.js, из за этого начинается ругань на анонимные функции в обработчике событий. Как этого можно избежать?
<script src="script.js"></script>
<link rel="stylesheet" href="style.css">  

window.addEventListener('DOMContentLoaded', function() {
 console.log("Html_DOMContentLoaded");
});


PS: точнее script.js выдает ERR_CONNECTION_REFUSED из за того что начало начинает грузиться style.css
а одном из браузеров как раз стили не загрузились как их по времени растащить ?

Белый шум 12.03.2018 10:31

Если код именно такой, то DOMContentLoaded не может сработать раньше загрузки и выполнения скрипта со стилями. Такое возможно только при асинхронной загрузке скриптов/стилей (параметр async или defer).

pokk 12.03.2018 11:58

Белый шум, да вы правы, оказывается JS просто не выгружается
причем на разных браузерах ведет себя по разному, в одном выгружается в другом нет, в третьем CSS не выгружается.


Что за дикий таймаут в 1 секунду?
можно браузер заставить по дольше ждать?

j0hnik 12.03.2018 17:33

Цитата:

Сообщение от pokk (Сообщение 480318)
можно браузер заставить по дольше ждать?

можно

<script src="script.js"></script>
<link rel="stylesheet" href="style.css">  

window.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
 console.log("Html_DOMContentLoaded");
},2000);
});


но лучше искать другое решение

Белый шум 12.03.2018 18:24

pokk,
ERR_CONNECTION_REFUSED - проблема на стороне сервера, возможно веб-сервер не запущен.


Часовой пояс GMT +3, время: 16:09.