Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обновление страницы до тех пор, пока не появится элемент с определённым ID (https://javascript.ru/forum/misc/83597-obnovlenie-stranicy-do-tekh-por-poka-ne-poyavitsya-ehlement-s-opredeljonnym-id.html)

mxup 20.01.2022 09:54

Обновление страницы до тех пор, пока не появится элемент с определённым ID
 
Здравствуйте, хотел сделать скрипт который обновлял бы страницу до тех пор, пока на странице не появился элемент с определённым ID
Подскажите, правильный ли код я сделал:
window.onload = function() {
	if (!document.getElementById('айди элемента')) {
		window.setTimeout(function () {
            window.location.reload();
        }, 3000);
	}
};

рони 20.01.2022 10:50

mxup,
а самому проверить? )))

mxup 20.01.2022 13:34

Цитата:

Сообщение от рони (Сообщение 543136)
mxup,
а самому проверить? )))

Да дело в том, что я вставляю этот скрипт в плагин Хрома:
Auto Refresh Plus
То есть там можно вставить пользовательский крипт который будет выполнятся. И вот он странно просто как то работает. Элемента на странице нет, но обновляется всего пару раз, иногда вообще не обновляется страничка. Думаю, может код неправильный.

рони 20.01.2022 14:02

mxup,
Цитата:

reload([forceget])
перезагрузить документ по текущему URL. Аргумент forceget - булево значение, если оно true, то документ перезагружается всегда с сервера, если false или не указано, то браузер может взять страницу из своего кэша.
попробуйте так
window.location.reload(true);

mxup 20.01.2022 15:25

Цитата:

Сообщение от рони (Сообщение 543140)
mxup,

попробуйте так
window.location.reload(true);

Получается вот так?:

if (!document.getElementById('айди ожидаемого элемента ')) {
	window.setTimeout(function () {
        window.location.reload(true);
    }, 5000);
}

рони 20.01.2022 15:31

mxup,
да.

рони 20.01.2022 15:35

mxup,
можно(если очень хочется) чуть короче ...
document.getElementById('#...') || setTimeout( _ => location.reload(true), 5000);


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