Javascript 拦截AJAX请求冻结选项卡

Javascript 拦截AJAX请求冻结选项卡,javascript,ajax,facebook,Javascript,Ajax,Facebook,我已经了解了如何截获AJAX调用,并在多个不同线程上找到相同的代码:例如,和 我对代码进行了如下修改: (function(open) { XMLHttpRequest.prototype.open = function(method, url, async, user, pass) { console.log("URL: ", url); open.call(this, method, url, async, user, pass); }; })

我已经了解了如何截获AJAX调用,并在多个不同线程上找到相同的代码:例如,和

我对代码进行了如下修改:

(function(open) {
    XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
        console.log("URL: ", url);
        open.call(this, method, url, async, user, pass);
    };
})(XMLHttpRequest.prototype.open);
我所要做的就是在给定页面上记录AJAX请求的URL


不幸的是,一旦我将此代码注入Facebook,整个屏幕就会冻结。它适用于所有其他网站。为什么这会在Facebook上搞砸?

很可能他们有自己的超负荷,我的意思是,他们可能会做一些类似的事情,比如把它从窗口移开或重命名,或者做一些类似的事情,期望人们想做你正在做的事情。对象是否存在?为什么会冻结选项卡?是否会抛出错误?您是否尝试过将try/catch包装在其周围,并查看返回给catch的内容?不会抛出错误。我唯一看到的是两个警告:主线程上的同步XMLHttpRequest被弃用,因为它对最终用户的体验有不利影响。如需更多帮助,请查看http://xhr.spec.whatwg.org/. OahVtjWtI-Q.js:7不推荐为同步请求设置“XMLHttpRequest.withCredentials”。