Как выполнить JavaScript через определенное время?

261
08 февраля 2020, 00:20

Нужно через 5 секунд после загрузки страницы выполнить javascript файл, который находиться на удаленном сервере, и доступен по ссылке:

https://site.ru/folder/script.js

Как лучше всего это реализовать?

Я думал сделать так:

var sec = 5; 
 
function sleep() { 
	if (sec > 0)sec--; 
	if (sec == 0) { 
		  //если прошло 5 сек, как выполнить JS ? 
		  sec  = -1; 
	} 
} 
 
setInterval(sleep, 1000);

Answer 1

Я так понял речь про это?

setTimeout(function() {
    let script = document.createElement("script");
    script.setAttribute("src","https://site.ru/folder/script.js");
    document.body.appendChild(script)
}, 5000);

этот код через 5сек после выполнения создаст на странице тег script, чем заставит браузер скачать и выполнить его, но надо понимать что он выполнится через 5 сек + время загрузки

Answer 2
function funcToExec() {
  // function body
}
setTimeout(() => {funcToExec()}, 5000);

Но я не уверен, что функция с другого ресурса выполнется.

READ ALSO
VUE: динамический import компонента из $route.params

VUE: динамический import компонента из $route.params

Товарищи vue spa строители! Столкнулся с проблемой следующего содержания: мне необходимо динамически подгружать на страницу компонент имя...

273
Работа с фреймами JS

Работа с фреймами JS

Задание: создайте два фрейма, которые делят окно пополамВ одном из них находиться кнопка, нажимая на которую меняется цвет во втором фрейме

273
Как получить input.value из ref react-компонента?

Как получить input.value из ref react-компонента?

Как можно получить значение из inputvalue в стрелочной функции атрибута ref react-компонента?

269