在我的扩展程序中,我使用chrome.webRequest
来捕获来自任何网页的请求,它就像一个魅力
但我无法捕获从另一个扩展程序初始化的任何请求。
我的清单:
"permissions": [
"tabs",
"webRequest",
"webRequestBlocking",
"<all_urls>"
],
background.js:
chrome.webRequest.onBeforeRequest.addListener(function (data) {
console.log('catched', data);
}, {urls: ['<all_urls>']});
试验:
使用http://google.com打开标签:
catched https://www.google.com/
打开扩展程序控制台并运行fetch('http://google.com')
:
catched http://google.com/
打开另一个扩展程序控制台并运行fetch('http://google.com')
:
// no output
有人知道是否可能,如果可能,如何设置? 谢谢!
答案 0 :(得分:2)
我之前的回答不正确,请参阅@Rob W的评论。
但是当@Xan mentioned that extension URLs were visible to other extensions时,很明显这种行为is undesirable and a security issue, so I removed the ability for extensions to see other extensions' requests
它不允许handle requests sent from other extensions。
此外,即使某些使用上述方案之一的URL请求也会被隐藏,例如 chrome-extension:// other_extension_id,其中other_extension_id不是要处理的扩展名的ID请求,https://www.google.com/chrome和其他人(此列表未完成)。