у меня есть метод который проверяет есть ли активные запросы (XHR)
public void waitForNetwork() {
int timeout_sec = 90;
System.out.println("Checking active ajax calls:: ");
JavascriptExecutor jsDriver = getBrowser().getJSExecuter();
for (int i = 0; i < timeout_sec; i++) {
Object numberOfAjaxConnections = jsDriver.executeScript("return jQuery.active");
if (numberOfAjaxConnections instanceof Long) {
Long n = (Long) numberOfAjaxConnections;
System.out.print(" ajax calls: " + n + "...");
if (n == 0L) {
break;}
}getBrowser().pause(1000);
}System.out.println();
}
тут "jQuery.active" возвращает 0 или 1.
Но есть много сайтов без поддержки jQuery, как можно переписать этот метод без использования jQuery?
Пробовал проверить и подгрузить скриптом, но тогда все время возвращается 0 даже если есть активные процессы. Скрипт который я использовал:
if(typeof jQuery == 'undefined') {
var jq = document.createElement("script");
jq.type = 'text/javascript';
jq.src = "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js";
document.head.appendChild(jq);
}
Буду благодарен за любую помощь.Спасибо!
jQuery.active считает только запросы отправленые через jQuery. На сколько помню он вешает два обработчика на методы ajax. Один это AjaxStart и при нем увеличивает счетчик на 1 и AjaxStop, при нем соответственно уменьшает. Если вы хотите отлавливать активные запросы без привязки к jQuery, то я думаю вам нужно будет сделать что то подобное с XMLHttpRequest
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите, есть inputНужно отловить событие, когда ввод данных в поле будет завершен
Начал изучать Meteor js и столкнулся с проблемойНе могу вывести единственное значение из MongoDB