WebExtensions -- 尽管匹配网络请求,但 WebRequest 事件未成功触发

WebExtensions -- WebRequest event not triggering successfully despite matching network requests

我正在使用 WebExtensions 开发一个扩展,运行 遇到了 WebRequest 事件的问题。我正在尝试拦截对 Facebook.com 新闻源发送以加载更多帖子的请求的响应,这是通过 URL https://www.facebook.com/ajax/pagelet/generic.php/LitestandTailLoadPagelet?dpr=* 发生的(其中 * 是一团糟身份标识)。此请求显示在 devtools 中: image.

这是相关的清单位:

{
    "permissions": [
        "*://facebook.com/*",
        "tabs",
        "activeTab",
        "webRequest",
        "webRequestBlocking"
    ],
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "content_scripts": [{
        "matches": ["*://facebook.com/", "*://facebook.com/groups/?*"],
        "js": ["/content-script.js"],
        "css": ["/css/styles.css"]
    }]
}

在 background.js 中,我在文件的最顶部有以下事件侦听器(这里的顺序无关紧要):

browser.webRequest.onHeadersReceived.addListener(
    details => { console.log("event"); }, 
    { urls: ["https://www.facebook.com/ajax/pagelet/generic.php/LitestandTailLoadPagelet?dpr=*"] }, 
    ["blocking", "responseHeaders"]
);

但是,发出请求(甚至使用相同的 url 重新发送上图中的请求)不会触发 console.log,甚至不会触发通过 devtools 在事件上设置的断点。页面加载没有问题。

有什么想法吗?

您正在尝试拦截对 www.facebook.com 的请求,但您没有该域的主机权限(您有 facebook.com 但那是另一个域)