如何使用chrome.experial.webRequest

How to use chrome.experimental.webRequest?

本文关键字:webRequest experial chrome 何使用      更新时间:2023-09-26

我正在开发Google Chrome扩展,需要使用Chrome.experial.webRequest API。我有一个简单的background.html,它包含一个脚本文件。目前,脚本如下:

function listenBeforeRequest(args) {
  console.log(args);
};
chrome.experimental.webRequest.onBeforeRequest.addListener(listenBeforeRequest);

我在addListener行上设置了一个断点,当加载扩展时就会执行它,并且不会出现任何错误。但是,listenBeforeRequest方法永远不会被命中。我的期望是在每次请求之前调用该函数。

我怎样才能做到这一点?

我在Windows上使用谷歌Chrome 16。我已经在chrome://flags下的浏览器中设置了实验性的API标志。

这是我的宣言.json:

{
    "name": "extension",
    "version": "0.1",
    "description": "...",
    "background_page": "background.html",
    "browser_action": {
        "default_icon": "icon.png",
        "popup": "popup.html"
    },
    "permissions": ["background","webRequest","experimental", "*://*"]
}

注意,我也尝试过chrome.webRequest,但这是未定义的-尽管此页面声称它已被添加为稳定的API:http://code.google.com/chrome/extensions/trunk/webRequest.html

我错过了什么?我需要做些什么才能使webRequest.onBeforeRequest事件正常工作?

您的权限匹配模式缺少路径。将其修改为类似*://*/*的内容,或者使用特殊模式<all_urls>