waitForNetwork без jQuery

115
27 июня 2019, 16:40

у меня есть метод который проверяет есть ли активные запросы (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);
}

Буду благодарен за любую помощь.Спасибо!

Answer 1

jQuery.active считает только запросы отправленые через jQuery. На сколько помню он вешает два обработчика на методы ajax. Один это AjaxStart и при нем увеличивает счетчик на 1 и AjaxStop, при нем соответственно уменьшает. Если вы хотите отлавливать активные запросы без привязки к jQuery, то я думаю вам нужно будет сделать что то подобное с XMLHttpRequest

READ ALSO
Как написать путь к элементу

Как написать путь к элементу

Есть фрагмент кода, не пойму как прописать путь к

164
событие onchange срабатывает при сворачивании окна браузера

событие onchange срабатывает при сворачивании окна браузера

Подскажите, есть inputНужно отловить событие, когда ввод данных в поле будет завершен

124
Meteor js Как получить в переменную значение из MongoDB

Meteor js Как получить в переменную значение из MongoDB

Начал изучать Meteor js и столкнулся с проблемойНе могу вывести единственное значение из MongoDB

129