[chrome扩展开发] 网络监听API

文档 * https://chajian.baidu.com/developer/extensions/webRequest.html

定义

网络请求API的 addListener() 三个参数定义如下:

  var callback = function(details) {...};
  var filter = {...};
  var opt_extraInfoSpec = [...];

实例

如下是监听 onBeforeRequest 事件的一个例子:

  chrome.webRequest.onBeforeRequest.addListener(
    callback, filter, opt_extraInfoSpec);

实例:监听请求前事件

chrome.webRequest.onBeforeRequest.addListener(
    function(details) {
         console.log(details));
    },
    {
        urls:[
            ""
        ],
        types: ["xmlhttprequest"]
    },
    [
        "blocking",
        "requestBody"
    ]
);

实例:监听完成事件,处理xmlhttprequest 的请求

chrome.webRequest.onCompleted.addListener(function (details){
        console.log(details);
    }, {
        urls:[
            ""
        ],
        types: ["xmlhttprequest"]
    },
    [
        "responseHeaders"
    ]
);

注意事项

要注意的是,第三个参数, 如果不对,查看控制台的错误信息

extensions::schemaUtils:34 Uncaught Error: Invalid value for argument 2. Property '.0': Value must be one of: [responseHeaders].

比如上面告知能够使用的值为responseHeaders, 替换即可。

你可能感兴趣的:([chrome扩展开发] 网络监听API)