通过将这个小片段放在Chrome的控制台中,可以挂接到页面中的任何ajax调用:
(function(open) {
XMLHttpRequest.prototype.open = function(method, url, async) {
console.log('ajax call!'); //do things
open.call(this, method, url, async);
};
})(XMLHttpRequest.prototype.open);
将其放在Gmail中可以工作,但不能放在Google的新收件箱网站中。如果未在此页面中进行 Ajax 调用 - 它们还使用什么其他方法来获取异步数据?
他们可能会从内部 iframe/s 发送 XHR 请求,因此在控制台中覆盖 XMLHttpRequest 将不起作用。