AJAX调用返回时是否有钩子?

时间:2012-01-25 00:25:18

标签: google-chrome-extension

我知道您可以为chrome.tabs.onUpdated事件添加一个侦听器,以便您可以在打开新标签页或更改标签页的网址时运行代码。

但是我想知道是否有类似的事件/钩子你可以听,以便你可以在AJAX调用返回时运行代码?

我问,因为我需要每隔3秒检查一次网页,看看是否有某些文字是通过AJAX出现的。所以基本上我必须轮询页面。显然,如果我不必轮询页面,并且只有当AJAX调用返回时才能运行代码,因为我需要进行扫描时,效率会更高。

那么是否存在钩子/偶数或者我是否必须坚持轮询页面?

2 个答案:

答案 0 :(得分:1)

experimental webRequest API,允许您挂钩浏览器发出的所有HTTP请求。由于它是实验性的,您必须在chrome:// flags或命令行中启用--enable-experimental-extension-apis标志

答案 1 :(得分:0)

该回调将由调用该ajax事件的相同javascript执行。它通常被称为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状态代码时执行的函数