2012-01-25 4 views
1

Я знаю, что вы можете добавить слушателя к событию chrome.tabs.onUpdated, чтобы вы могли запускать код при открытии новой вкладки или изменении URL-адреса вкладки.Есть ли крючок, когда возвращается вызов AJAX?

Однако мне было интересно, есть ли подобные события/крючки, которые вы можете прослушать, чтобы вы могли запускать код при возврате вызова AJAX?

Я спрашиваю, потому что мне нужно проверять веб-страницу каждые 3 секунды, чтобы увидеть, появился ли какой-либо текст через AJAX. Поэтому в основном я должен опросить страницу. Очевидно, что было бы более эффективно, если бы мне не пришлось опросить страницу, и если бы я мог запускать код только тогда, когда AJAX вызывает возврат, так как это нужно, когда мне нужно выполнить сканирование.

Так что есть крючок/даже для этого или я просто буду придерживаться опроса страницы?

+0

Функция обратного вызова может быть настроена для обработчика onreadystatechange для вызова. – dave

ответ

0

Этот обратный вызов будет выполнен тем же самым javascript, который вызвал это событие ajax. Его обычно называют методом обратного вызова ajax.

В JQuery его:

$.ajax({method: "GET", url: 'some url' }).complete(function() { //do your function here }); 

в Mootools его:

new Request.JSON({ method: "GET", url: 'someurl', onComplete: function() { //do your function here }); 

В простом старом JavaScript, вы должны написать в функциональности для обратного вызова в вашу функцию XmlHttpRequest как функция, которая выполняет при достижении определенного кода состояния ajax

+0

Я не ищу, чтобы писать функции AJAX. Я хочу «прослушивать» вызовы AJAX, чтобы я мог сканировать страницу для определенного текста после вызова AJAX. –

+0

@JohnMcDonald моя ошибка, я неправильно понял, что вы просили – Kristian

1

Существует experimental webRequest API, что позволяет подключать все HTTP-запросы, сделанные b rowser. Поскольку это экспериментально, вам нужно включить флаг --enable-experimental-extension-apis в флагах chrome: // или в командной строке

+0

Эта функция больше не экспериментальная! –

Смежные вопросы