8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何在 Chrome 扩展 Manifest.json 中设置内容安全策略以使 Firebase 正常工作

Vincent P 2月前

51 0

我制作了一个 Chrome 扩展程序并使用 Firebase 将数据收集到数据库中。它运行良好一段时间,但似乎 Chrome 发生了一些变化。现在我在 javas 中收到以下错误...

我制作了一个 Chrome 扩展程序并使用 Firebase 将数据收集到数据库中。它运行了一段时间,但似乎 Chrome 发生了一些变化。现在,当我在扩展程序上使用检查元素时,我在 javascript 控制台中收到以下错误:

拒绝加载脚本“ https://(myID).firebaseio.com/(otherprivatedata) ”,因为它违反了以下内容安全策略指令:\'script-src'self' chrome-extension-resource:\'。

该脚本是在firebase.js:171写的,不是我添加的脚本。

我尝试遵循本指南并按照指示将 \'content_security_policy\' 标签添加到我的 manifest.json: https://github.com/firebase/firebase-chrome-extension

我按照指示在 manifest.json 中添加了以下行:

"content_security_policy": "script-src 'self' https://cdn.firebase.com https://*.firebaseio.com; object-src 'self'"

但是,当我添加此行时,尝试在 chrome://extensions 中加载我的脚本时出现错误

加载扩展时出错

无法从以下位置加载扩展:~\XXX\my_ext

清单不是有效的 JSON。行:14,列:5,语法错误。

而且它突出显示了我刚刚在上面添加的行 (content_security_policy)。我做错了什么?似乎 \'content_security_policy\' 之后的任何内容都被 Chrome 完全拒绝了。

即使我尝试使用 Google 的示例代码,它也不起作用。developer.chrome.com/extensions/contentSecurityPolicy

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

如何设置 content_security_policy 以使 Firebase 在扩展中工作?

(我的 firebase.jp 已经下载并与我的扩展程序一起打包,因为 Chrome 不允许我将其称为远程。)

帖子版权声明 1、本帖标题:如何在 Chrome 扩展 Manifest.json 中设置内容安全策略以使 Firebase 正常工作
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Vincent P在本站《google-chrome》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 是的,谢谢 rsanchez......完全忘了一个逗号......

    ...   
      "options_page": "option.html",
      "manifest_version": 2, <- THIS COMMA
      "content_security_policy": "script-src 'self' https://cdn.firebase.com https://*.firebaseio.com; object-src 'self'"
    }
    

    现在可以了,谢谢您的帮助!

  • Stef 2月前 0 只看Ta
    引用 3

    我遇到了这个问题“content_security_policy”的值无效。无法加载清单

  • 我认为是这样...那么 manifest v3 的解决方案是什么呢....无论如何?@SaurabhVerma

  • 2022 年更新

    Manifest V3 改变了内容安全策略的指定方式。请查看文档 doc 因此,根据 V3,上述策略现在应按以下方式指定:

    {
      ...
      "manifest_version": 3,
      "content_security_policy": {
        "extension_pages": "script-src 'self' https://cdn.firebase.com https://*.firebaseio.com; object-src 'self'"
      }
      ...
    }
    
  • 文档表明您不能这样做:\'extension_pages 策略不能放宽到超出此最小值\'。developer.chrome.com/docs/extensions/mv3/manifest/...

  • 这不起作用。文档说 Manifest V3 不允许 extension_pages 的 script-src 中有远程 URL

  • 了解如何在 Chrome 扩展程序上使用沙盒

    在清单 v3 json 文件上

    "content_security_policy": {
        "sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';"
      },
      "sandbox": {
        "pages": [
          "index.html"
        ]
      }
    

    https://developer.chrome.com/docs/extensions/reference/manifest/sandbox

返回
作者最近主题: