您没有使用阻止webRequest侦听器的权限.请确保在清单中声明webRequestBlocking权限



我尝试用react js开发我的第一个chrome扩展。当我尝试使用chrome.webRequest API在chrome扩展中阻止URL时,错误页面显示了两个错误。

'webRequestBlocking'需要清单版本为2或更低。

未选中runtime.lastError:您没有使用阻止webRequest侦听器的权限。请确保在清单中声明webRequestBlocking权限。

并且我声明;webRequestBlocking";清单文件中的权限。这是我的宣言.json

{
"manifest_version": 3,
"name": "Chrome Extension",
"description": "First Extension",
"options_page": "options.html",
"background": {
"service_worker": "background.bundle.js",
"matches": [
"<all_urls>"
]
},
"action": {
"default_title": "Open Extension",
"default_icon": "icon-34.png"
},
"icons": {
"128": "icon-128.png"
},
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*",
"<all_urls>"
],
"js": [
"contentScript.bundle.js"
],
"css": [
"content.styles.css"
]
}
],
"devtools_page": "devtools.html",
"web_accessible_resources": [
{
"resources": [
"content.styles.css",
"icon-128.png",
"icon-34.png"
],
"matches": []
}
],
"permissions": [
"activeTab",
"tabs",
"webRequest",
"webRequestBlocking"
],
"host_permissions": [
"<all_urls>"
]
}

这是我的背景.js

chrome.webRequest.onBeforeRequest.addListener(
function(details) {
console.log(details);
return {cancel: true};
},
{urls: ["https://reactjs.org/"]},
["blocking"]
);

我尝试过删除webRequestBlocking,但也一样。有人能帮我吗有办法解决这个问题吗?

错误自行解释为'webRequestBlocking' requires manifest version of 2 or lower.,因此您无法在清单版本3中使用webRequestBlocking

然而,chrome通过使用declarativeNetRequestWithHostAccessAPI提供了一种替代方法,该方法用于通过指定声明性规则来阻止或修改网络请求您可以在这里查看更多详细信息。

您可以将manifest_version更改为2,将webRequestBlocking更改为permissions

相关内容

最新更新