0

我正在寻找一种方法来监听在任何选项卡内完成的每个 XHR 请求并在alert()弹出窗口中输出结果(或者如果可能的话在控制台中)。我想获得标头+请求+响应。

这是我的代码:

manifest.json

{
    "manifest_version": 2,

    "name": "Sample APP",
    "description": "Sample Description",
    "version": "1.0",

    "permissions": [
        "webRequest",
        "*://*/*"
    ],
    "background": {
        "scripts": ["script.js"]
    }
}

script.js

chrome.webRequest.onCompleted.addListener(
    function(details) {
        alert(details);
    }, 
    {}, 
    []
);

我究竟做错了什么?

4

1 回答 1

1

[编辑:更新以纳入apsillers的有用评论(见评论)。]

在 RequestFilter 中,该urls字段是必需的。为了侦听对任何 URL 的请求,请使用:

chrome.webRequest.onCompleted.addListener(
    function(details) {
        console.log(details);
    }, { 
        urls: ["<all_urls>"],
        types: ["xmlhttprequest"]   // <-- to narrow down to only AJAX requests
    }, []
);

最后,为了获得您所关注的各种信息(标头、请求等),您需要为各种事件注册适当的事件侦听器。请注意,您可以使用参数的requestId属性将details属于同一请求的事件链接在一起。

于 2013-10-30T22:38:54.057 回答