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
但那是另一个域)
我正在使用 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
但那是另一个域)