【问题标题】:Chrome extension Manifest v3 not working with HTTPS localhost APIChrome 扩展清单 v3 无法与 HTTPS localhost API 一起使用
【发布时间】:2022-11-01 14:01:08
【问题描述】:

我目前正在从 Manifest v2 迁移到 Manifest v3 以获得 chrome 扩展。我的扩展使用通过 HTTPS 提供的公共 API。我使用该 API 的本地实例来测试在https://0.0.0.0:8080/ 提供的扩展。但是,由于我无法理解的原因,我的扩展无法从该 URL 获取任何内容。并且服务人员日志上显示的错误是

类型错误:获取失败

如果我将本地 API 切换为在 http://0.0.0.0:8080/ 上提供服务,则扩展程序可以正常工作。所以基本上,除了 Manifest v3 上的 https://0.0.0.0:8080/ 之外,该扩展程序适用于所有 API URL。我尝试切换回 Manifest v2 并且它起作用了,所以我不确定为什么它在 v3 上不起作用。

我的清单文件看起来像这样

    {
  "name": "...",
  "description": "...",
  "manifest_version": 3,
  "version": "1.0.0",
  "icons": {
    "16": "icon16.png",
    "48": "icon48.png",
    "128": "icon128.png"
  },
  "action": {
    "default_icon": {
      "16": "icon16.png",
      "48": "icon48.png"
    },
    "default_title": "..."
  },
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["content.js"],
      "css": ["App.scss"]
    }
  ],
  "permissions": ["storage"],
  "host_permissions": ["http://*/*", "https://*/*", "*://*/*"],
  "web_accessible_resources": [
    {
      "resources": ["App.css"],
      "matches": ["http://*/*", "https://*/*"]
    }
  ]
}

【问题讨论】:

  • 尝试将 https://0.0.0.0:8080/ 添加到 host_permissions 并重新加载扩展。也许应该为 https 明确指定端口,这可能是 Chrome 中的一个错误。 FWIW,0.0.0.0 是无效 IP。
  • 那没有用。添加主机权限对问题没有影响。

标签: google-chrome-extension chrome-extension-manifest-v3


【解决方案1】:

我得到了同样的错误。你知道如何解决它吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-26
    • 2021-09-21
    • 2022-11-15
    • 2022-07-26
    • 2017-04-28
    • 2021-09-20
    • 2021-09-30
    • 2021-07-30
    相关资源
    最近更新 更多