Как сделать что бы шаблон дожидался исполения javascript

  • Автор темы Автор темы deriklogov
  • Дата начала Дата начала

deriklogov

Client
Регистрация
02.11.2011
Сообщения
97
Реакции
6
Баллы
8
Добрый,
Нужна помощь.
Шаблон заходит на страницу, там нажимаеться кнопка а идет загрузка/выполнения связанная с JS. Шаблон не дожидаеться и исполняеться дальше, как его заставить подождать выполнения ?
Спасибо большое
 
надо просто определить контрольный элемент который появляется/пропадает после выполнения JS и сделать ожидание появления этого события.
 
Действие "Браузер" -> "Настройки", "Состояние занятости" снять галочку "Игнорировать AJAX"
 

Вложения

  • photo_2020-12-25_20-16-09.jpg
    photo_2020-12-25_20-16-09.jpg
    10,4 KB · Просмотры: 21
Локальный js выполняется быстро, чаще всего долго выполняется js, который ждёт ajax-ответ от сервера
Всякие сайты со сложными формами/редакторами используют ajax для подгрузки, всегда спасала это опция от костылей с паузами, как многие любят делать
 
Локальный js выполняется быстро, чаще всего долго выполняется js, который ждёт ajax-ответ от сервера
Всякие сайты со сложными формами/редакторами используют ajax для подгрузки, всегда спасала это опция от костылей с паузами, как многие любят делать
Надо не костылять паузами, а нормально делать через контрольный элемент. Это самый лучший способ, так как он гарантирует ожидание именно нужного результата. И по истечении таймаута можно либо выйти с ошибкой, либо перезагрузить страницу через счетчик.
А всякие ожидания прогрузки ajax это не более чем костыл, так как он не гарантирует, что текущая прогрузка ajax вызвана именно этим скриптом, а иногда снятая галочка ajax может привести к вечной загрузке странице. И потом от некоторых на форуме появляются темы типа помогите у меня шаблон висит на одном месте и ничего не происходит :)
 
  • Спасибо
Реакции: Oleg1987
Добрый,
Нужна помощь.
Шаблон заходит на страницу, там нажимаеться кнопка а идет загрузка/выполнения связанная с JS. Шаблон не дожидаеться и исполняеться дальше, как его заставить подождать выполнения ?
Спасибо большое
Через Js document.readyState;
Если страница прогрузилась вернет - complete
 
Спасибо большое за советы.
 
А как это сделать ?
кубик свой код - js. Выполнить на текущей странице return document.readyState;. Запустить цикл который с интервалом в пару секунд будет проверять статус. Если статус будет complete, то страница прогрузилась.
 
а как получить статус ?
я создал кубик js, в него положил
return document.readyState;

создал новую переменную status, "Положить результат в переменную ....
Но переменная пустая, неочень понимаю
 
а как получить статус ?
я создал кубик js, в него положил
return document.readyState;

создал новую переменную status, "Положить результат в переменную ....
Но переменная пустая, неочень понимаю
Выполнить на текущей странице
 
  • Спасибо
Реакции: bizzon
В общем readyState отписываеться complete но значения в таблице еще не подгрузились. Тоесть не отлавливает. Проверку элемента на странице тоже не вариант потому что какое значение подгрузиться тоже не известно
 
В общем readyState отписываеться complete но значения в таблице еще не подгрузились. Тоесть не отлавливает. Проверку элемента на странице тоже не вариант потому что какое значение подгрузиться тоже не известно
раз идет какая то работа и страница меняется, то всегда можно зацепиться за какие то изменения.
Что за сайт то ?
 
Через Js document.readyState;
Если страница прогрузилась вернет - complete
Это не актуально для современных веб приложений. Так же как "Игнорировать AJAX" и tab.waitloading() Phoenix78 прав. Надо дожидаться на странице появления того, что требуется. Это самый надежный способ в нынешних реалиях
 
  • Спасибо
Реакции: bizzon и Norim
Лучше ничего не выполнять на странице, не известно как это скажется на анонимности.
JS если подгружается и виден через монитор траффика, то можно отслеживать именно монитор траффика. Или возможно после выполнения JS есть какой-то запрос, который можно тоже отслеживать.
 
Спасибо всем за советы!!!! Буду искать то что подгружаеться что бы сделать проверку
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)