无法从 Firefox 上的扩展访问远程资源

问题描述 投票:0回答:1

我一直在尝试从页面 B 上运行的扩展程序向我自己的服务器 A 发出请求。如果我在 Chrome 上运行该扩展程序,一切都会顺利进行,但在 Firefox 上会失败并出现以下错误:

'Content-Security-Policy: The page’s settings blocked the loading of a resource at A (“connect-src”).'

扩展程序向 B 页面添加一个按钮,并尝试使用带有此代码的 fetch 向服务器 A 发出 PUT 请求

function sendData(body) {
    fetch(`${API_URL}/request-help`, {
        method: "PUT",
        body: JSON.stringify(body),
        headers: {
            "Content-type": "application/json; charset=UTF-8"
        }
    })
        .catch(error => {
            console.error(error);
        })
}

我已添加到清单中

"host_permissions": ["<all_urls>"],

尝试添加CSP

  "content_security_policy": {
        "extension_pages": "script-src 'self' 'unsafe-eval'; connect-src *; style-src * 'unsafe-inline' 'self' "
  }
firefox google-chrome-extension firefox-addon
1个回答
0
投票

我遵循了 @xOxxOm 的建议,并将 fetch 调用移至后台服务,现在一切似乎都正常。我想避免这样做,但从代码架构的角度来看,我实际上很喜欢它。

© www.soinside.com 2019 - 2024. All rights reserved.