Event когда чужой ajax завершил работу, jQuery?

Подскажите пожалуйста идею, как можно узнать, когда чужой ajax завершил работу и добавил контент на сайт. 2 часа поиска в интернете без результата, перепробовал все events. Пример:

Мой userscript или скрипт работающий с iframe, биндит #contentна на append.



Чужой скрипт по нажатию мною клавиши, отправляет запрос и append-дит контент в тег #content.

Проверять наличие селектора в цикле с таймером устаревшая идея.
  • Вопрос задан
  • 3784 просмотра
Решения вопроса 1
spmbt
@spmbt
onreadystatechange (только он может не во всех браузерах работать), не тот, который имеет отношение к аяксу, а этот: www.developphp.com/view_lesson.php?v=867

developer.mozilla.org/en-US/docs/Web/Reference/Events/readystatechange
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
delletenebre
@delletenebre
Вам, скорее всего, нужен MutationObserver (события браузера при изменении DOM). Например CornerJS.
Ответ написан
Комментировать
madMxg
@madMxg
Можно попробовать повешать jquery метод ajaxStop() на страницу, если конечно "чужой скрипт" не отправляет AJAX запрос с глобальной опцией false.
$.ajax({
    ...
    global: false,     // this makes sure ajaxStart is not triggered
    ...
});

т.е. вешаем на DOM элемент функцию вида
$('<dom element>').ajaxStop(function() {
    //AJAX запрос завершился
    //Здесь тело вашей функции
});

Подробней почитать можно тут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы