Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2022, 09:54
Аспирант
Отправить личное сообщение для mxup Посмотреть профиль Найти все сообщения от mxup
 
Регистрация: 18.06.2015
Сообщений: 38

Обновление страницы до тех пор, пока не появится элемент с определённым ID
Здравствуйте, хотел сделать скрипт который обновлял бы страницу до тех пор, пока на странице не появился элемент с определённым ID
Подскажите, правильный ли код я сделал:
window.onload = function() {
	if (!document.getElementById('айди элемента')) {
		window.setTimeout(function () {
            window.location.reload();
        }, 3000);
	}
};
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2022, 10:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

mxup,
а самому проверить? )))
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2022, 13:34
Аспирант
Отправить личное сообщение для mxup Посмотреть профиль Найти все сообщения от mxup
 
Регистрация: 18.06.2015
Сообщений: 38

Сообщение от рони Посмотреть сообщение
mxup,
а самому проверить? )))
Да дело в том, что я вставляю этот скрипт в плагин Хрома:
Auto Refresh Plus
То есть там можно вставить пользовательский крипт который будет выполнятся. И вот он странно просто как то работает. Элемента на странице нет, но обновляется всего пару раз, иногда вообще не обновляется страничка. Думаю, может код неправильный.
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2022, 14:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

mxup,
Цитата:
reload([forceget])
перезагрузить документ по текущему URL. Аргумент forceget - булево значение, если оно true, то документ перезагружается всегда с сервера, если false или не указано, то браузер может взять страницу из своего кэша.
попробуйте так
window.location.reload(true);
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2022, 15:25
Аспирант
Отправить личное сообщение для mxup Посмотреть профиль Найти все сообщения от mxup
 
Регистрация: 18.06.2015
Сообщений: 38

Сообщение от рони Посмотреть сообщение
mxup,

попробуйте так
window.location.reload(true);
Получается вот так?:

if (!document.getElementById('айди ожидаемого элемента ')) {
	window.setTimeout(function () {
        window.location.reload(true);
    }, 5000);
}
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2022, 15:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

mxup,
да.
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2022, 15:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов функции до тех пор, пока она возвращает true Lion_astana Общие вопросы Javascript 12 06.02.2020 14:35
Выполнить скрипт только после того, как элемент с определенным id появляется в DOM strs Events/DOM/Window 10 26.05.2018 18:10
Как при прокрутке страницы оставлять элемент на месте? FRIE jQuery 1 02.08.2012 20:54
Обновление страницы AndreyS AJAX и COMET 6 16.05.2011 15:55