Активные запросы
Добрый день. К сожалению в гугле ответа на терзающий вопрос не нашёл, прошу помощи:
в файрбаге есть такой момент - т.е. там отображается количество активных ajax-запросов открытой страницей. Внимание вопрос: Как в JS получить число активных запросов на странице? Обратиться по пути window.Argus.System.Ajax._activeAjaxCountне получается. Ну и если я совсем не в ту сторону смотрю, то переформулирую вопрос. Надо любым образом узнать количество активных запросов на странице, или же их текущий статус. Зачем оно надо? Надо узнать окончена ли подгрузка данных на странице. Данные подгружает не мой скрипт, модифицировать возможности нет. |
|
Да, это было бы замечательно. Но в моём случае надо это сделать на голом JS, возможно на уровне общения с браузером.
|
Цитата:
|
Нет. Изменять ничего нельзя, только сбор информации.
|
surru,
твой js тогда как там окажется? |
Печально, но он там оказывается при помощи iMacros
|
surru,
и что там нельзя выполнить свой скрипт до загрузки документа? |
Можно. Но нужно выполнить скрипт после подгрузки данных. Данные подгружаются когда происходит скролл документа. Время подгрузки данных всегда разное, просто ставить завышенную задержку на исполнение скрипта не вариант.
|
surru,
а чем поможет количество запросов и их статус если запрос происходит на скролл в конец документа, т.е. один проскролл один запрос и тд? кто скроллить будет и с какой периодичностью? |
Скроллит мой скрипт, затем он должен дождаться завершения запроса, скролить снова, и так пока скролл не окажется в самом низу, а количество активных запросов при этом не будет равным нулю.
|
surru,
разве скролл не оказывается внизу при каждом скролле и количество активных запросов не равно нулю перед каждым новым скроллом? |
скролл оказывается внизу, разумеется. После чего происходит запрос, подгружаются новые данные. Надо дождаться конца запроса и скроллить снова.
|
surru,
как вариант window.addEventListener('load', function() { var active = 0, timeout; this._XMLHttpRequest = XMLHttpRequest; this.XMLHttpRequest = request; scroll(); function request() { var xhr = new _XMLHttpRequest(); xhr.addEventListener('loadstart', function() { clearTimeout(timeout), active++ }); xhr.addEventListener('loadend', function() { --active || scroll() }); return xhr; } function scroll() { timeout = setTimeout(loaded, 2000); scrollTo(0, 1000000); } function loaded() { alert('loaded'); } }); |
Увы, событие load уже своё оттарабанило, в любом случае получается, что загрузка документа завершена, но данные подтягиваются(
|
surru,
не понял, поподробнее |
Этот код в любом случае реагирует что загрузка завершена, даже если ajax-запрос ещё не завершён.
|
surru,
значит там не ajax-запрос а что то другое |
Часовой пояс GMT +3, время: 07:02. |