如何使用chrome.experimental.webRequest?

时间:2012-01-23 18:55:20

标签: javascript google-chrome google-chrome-extension

我正在开发Google Chrome扩展程序,需要使用chrome.experimental.webRequest API。我有一个简单的background.html,其中包含一个简单的脚本文件。目前,脚本如下所示:

function listenBeforeRequest(args) {
  console.log(args);
};

chrome.experimental.webRequest.onBeforeRequest.addListener(listenBeforeRequest);

我在addListener行上设置了一个断点,它在加载扩展时执行,我没有错误。但是,listenBeforeRequest方法永远不会受到影响。我的期望是在每次请求之前调用该函数。

我该如何做到这一点?

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

这是我的manifest.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事件发挥作用,我需要做些什么?

1 个答案:

答案 0 :(得分:1)

您的许可match pattern缺少路径。将其修改为*://*/*,或者使用特殊模式<all_urls>