Javascript 如何在Firefox扩展中捕获特定的xmlhttprequests?

Javascript 如何在Firefox扩展中捕获特定的xmlhttprequests?,javascript,google-chrome-extension,firefox-addon-webextensions,Javascript,Google Chrome Extension,Firefox Addon Webextensions,我正在编写一个firefox扩展,希望捕获发送到某个url的请求 我正在从后台脚本向事件添加侦听器,browser.webRequest.onCompleted。问题是,只有在添加侦听器时,我在清单的权限部分添加了,并在过滤器中添加了URL选项,侦听器才会启动 src/background.js: 函数保存数据(结果){ 控制台日志(结果); } browser.webRequest.onCompleted.addListener( 保存数据, { URL:[“”], 类型:['xmlhttpr

我正在编写一个firefox扩展,希望捕获发送到某个url的请求

我正在从后台脚本向事件添加侦听器,
browser.webRequest.onCompleted
。问题是,只有在添加侦听器时,我在清单的权限部分添加了
,并在过滤器中添加了URL选项,侦听器才会启动

src/background.js:

函数保存数据(结果){
控制台日志(结果);
}
browser.webRequest.onCompleted.addListener(
保存数据,
{
URL:[“”],
类型:['xmlhttprequest']
});
Manifest.json:

{
“清单版本”:2,
“名称”:“LolEsports扩展”,
“版本”:“1.0.0”,
“权限”:[
"",
“网络请求”,
“webRequestBlocking”,
“存储”
],
“背景”:{
“脚本”:[“src/background.js”]
}
}
以下是我得到的:

但如果我将清单更改为:

“权限”:[
"https://prod-relapi.ewp.gg/persisted/gw/*",
“网络请求”,
“webRequestBlocking”,
“存储”
]
在background.js中:

browser.webRequest.onCompleted.addListener(
保存数据,
{
网址:[”https://prod-relapi.ewp.gg/persisted/gw/*"],
类型:['xmlhttprequest']
});
控制台中未显示任何内容。我遗漏了什么,以至于监听器被特定的url模式激发起来了???

要拦截页面加载的资源(如图像、脚本或样式表),扩展必须具有资源以及请求资源的主页的主机权限。例如,如果“”处的页面从“”加载图像,则扩展必须同时具有主机权限才能拦截图像请求

:

从Chrome 72开始,扩展只有在对请求的URL和请求发起方都具有主机权限时才能拦截请求

因此,您需要添加
”https://watch.euw.lolesports.com/*“
在清单的
权限中”

要拦截页面加载的资源(如图像、脚本或样式表),扩展必须具有资源以及请求资源的主页的主机权限。例如,如果“”处的页面从“”加载图像,则扩展必须同时具有主机权限才能拦截图像请求

:

从Chrome 72开始,扩展只有在对请求的URL和请求发起方都具有主机权限时才能拦截请求


因此,您需要添加
”https://watch.euw.lolesports.com/*“
在清单的
权限中”

@wOxxOm非常感谢。现在可以了。你介意把你的评论变成答案吗?@wOxxOm非常感谢你。现在可以了。你介意把你的评论变成一个答案吗?我不知道我怎么会错过MDN中的那个部分。再一次,谢谢。我不知道我怎么会错过MDN中的那个部分。再次感谢你。