在Mozilla Firefox Add-on中的overlay.js中重新定义XMLHTTPRequest

我正在构建一个firefox扩展,并希望为每个加载的页面更改XMLHTTPRequest对象的行为。 我发现以下代码可以解决这个问题:
appcontent.addEventListener("load", function(event){
        var original_xhr = XMLHttpRequest;
        XMLHttpRequest = function () {
            original_xhr();
            alert ("I redefined this function");
        }
        alert ("Page loading");
    } , true)
我已经将这段代码添加到了我的overlay.js文件中。由于显示“页面加载”警报,因此加载事件正常工作。但XMLHTTPRequest不会被覆盖。 有谁知道什么是错的?     
已邀请:
我设法通过另一种方式获取信息。截取httpchannel后,我使用以下代码来查看请求是否来自xhr请求:
try
{
    var callbacks = httpChannel.notificationCallbacks;
    if (callbacks) {
        var xhrInterface = callbacks.getInterface(Components.interfaces.nsIXMLHttpRequest);
        // XHR REQUEST
    }
}
catch (exc)
{
    if (exc.name == "NS_NOINTERFACE") {
        // NO XHR REQUEST
    }
}
    

要回复问题请先登录注册