我试图用Reaction js开发我的第一个Chrome扩展.当我try 使用chrome.webRequestAPI阻止Chrome扩展中的URL时,错误页显示了两个错误.

"webRequestBlock"要求 list 版本为2或更低.

未判断的runtime.lastError:您没有使用阻止WebRequest侦听器的权限.请确保在您的 list 中声明了webRequestBlock权限.

并且我在 list 文件中声明了"webRequestBlock"权限.这是我的宣传单.

{
  "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"]
);

我试着删除了WebRequestBlock,但也是一样的.有人能帮我吗?有没有办法解决这个问题?

推荐答案

该错误解释它自身为'webRequestBlocking' requires manifest version of 2 or lower.,因此您不能在manifest version 3中使用webRequestBlocking.

但Chrome通过使用declarativeNetRequestWithHostAccess API提供了一个替代方案,该API用于通过指定声明性规则来阻止或修改网络请求 您可以拨打here了解更多详细信息.

Reactjs相关问答推荐

Reaction Axios多部分/表单-数据数组不工作

在Reaction常量函数中未更新状态变量

防止在Reaction中卸载

react 挂钩-使用有效澄清

在React中映射对象数组时,如何正确呈现JSX.Element或React.ReactNode类型?

React useEffect 问题...异步函数内的变量正在获取延迟的更新值

Material-UI 和 React Hook 表单不记录值

tRPC/react-query,在所有查询完成之前,组件不会收到任何 useQuery 的结果

React 无效的钩子调用:如何避免嵌套钩子?

Chakra UI:如何在选中状态下设置复选框 colored颜色

React-router-dom的链接不改变路由(ReactRouter6)

未捕获的运行时错误:对象作为 React 子项无效

如何在屏幕上使用相同的可重用

无法在 KeyDown 上调用 useCallback 函数

如何禁用 redux-toolkit 的不可序列化值测试警告?

null 不是对象(判断RNSound.IsAndroid)

react 事件顺序

React Router v6 - 访问嵌套路由和处理手写 url 的正确方法

react 路由dom没有路由匹配位置错误/在路由中制作组件

Rtk 查询无效标签不使数据无效