【发布时间】:2019-07-09 09:28:33
【问题描述】:
我正在编写一个 firefox 扩展程序,并希望捕获发送到某个 url 的请求。
我正在为事件添加一个侦听器,browser.webRequest.onCompleted 来自后台脚本。问题是,只有当我在清单的权限部分添加 <all_urls> 并在添加侦听器时在过滤器中添加 urls 选项时,侦听器才会被触发。
src/background.js:
function saveData(result) {
console.log(result);
}
browser.webRequest.onCompleted.addListener(
saveData,
{
urls: ["<all_urls>"],
types: ['xmlhttprequest']
});
Manifest.json:
{
"manifest_version": 2,
"name": "LolEsports Extension",
"version": "1.0.0",
"permissions": [
"<all_urls>",
"webRequest",
"webRequestBlocking",
"storage"
],
"background": {
"scripts": ["src/background.js"]
}
}
这是我得到的:
但如果我将清单更改为:
"permissions": [
"https://prod-relapi.ewp.gg/persisted/gw/*",
"webRequest",
"webRequestBlocking",
"storage"
]
在 background.js 中:
browser.webRequest.onCompleted.addListener(
saveData,
{
urls: ["https://prod-relapi.ewp.gg/persisted/gw/*"],
types: ['xmlhttprequest']
});
控制台中没有显示任何内容。我错过了什么让听众对特定的 url 模式感到兴奋??
【问题讨论】:
-
@wOxxOm 非常感谢。现在可以了。你介意把你的评论变成答案吗?
标签: javascript google-chrome-extension firefox-addon-webextensions