reactjs - 您无权使用阻塞 webRequest 监听器。请务必在 list 中声明 webRequestBlocking 权限

标签 reactjs google-chrome-extension webrequest manifest.json

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

'webRequestBlocking' requires manifest version of 2 or lower.

Unchecked runtime.lastError: You do not have permission to use blocking webRequest listeners. Be sure to declare the webRequestBlocking permission in your manifest.

并且我在 list 文件中声明了“webRequestBlocking”权限。这是我的 manifest.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>"
 ]
}

这是我的 background.js

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

而且我已经尝试删除 webRequestBlocking 但还是一样。谁能帮我解决这个问题?

最佳答案

错误自行解释 'webRequestBlocking' 需要 list 版本 2 或更低版本。 因此您不能在 list 版本 3 中使用 webRequestBlocking> .

但 chrome 通过使用 declarativeNetRequestWithHostAccess API 提供了一种替代方法,该 API 用于通过指定声明性规则来阻止或修改网络请求 你可以查看here了解更多详情。

关于reactjs - 您无权使用阻塞 webRequest 监听器。请务必在 list 中声明 webRequestBlocking 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73630289/

相关文章:

PayPal API - (401) 请求访问 token 时未经授权

reactjs - 顺序调用 redux sagas

mysql - 当我发布到我最新的 MySQL 表时出现 ReactJS 错误

javascript - 不安全的 CSP 值 "' unsafe-eval '"in directive ' script-src'

javascript - 下面的 Chrome 扩展 javascript 代码片段到底是如何工作的?

python - 如何在 Python 中发送 HTTP Get Web 请求?

reactjs - 使用 jitsi-meet-electron repo 安装 Electron

javascript - 避免请求对象上的空字符串值

javascript - Chrome API 的 onBeforeRedirect 无法正常工作?

google-chrome - 错误 : Parameter 2 (request) is required. [schemaUtils:39]