【问题标题】:Electron: Google Fonts violates Content Security PolicyElectron:谷歌字体违反了内容安全政策
【发布时间】:2021-09-27 09:21:34
【问题描述】:

我在 Electron 开发者控制台中收到一堆内容安全策略错误,用于添加谷歌字体:

拒绝加载样式表“https://fonts.googleapis.com/css2?family=Inter:wght@300;400&display=swap”,因为它违反了以下内容安全政策指令:“default-src 'self' '不安全的内联'数据:"。请注意,'style-src-elem' 没有显式设置,因此 'default-src' 用作后备。

我正在使用 electron-forge 的 React 和 TypeScript 样板。

【问题讨论】:

标签: electron electron-forge


【解决方案1】:

最简单的方法可能是在模板的标题中设置一个 Content-Security-Policy 元标记,如下所示:

<head>
    <meta charset="UTF-8">
    <!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
    <meta 
        http-equiv="Content-Security-Policy" 
        content="default-src 'self'; 
          script-src 'self'; 
          font-src 'self' https://fonts.gstatic.com;
          style-src 'self' https://fonts.googleapis.com">
    <!-- ...other stuff... -->
</head>

关于如何使用这些的指南在这里: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy#multiple_content_security_policies

我自己目前正处于我接触电子的第一个小时,暂时没有反应,这就是我解决它的方式,我认为这就是你应该这样做的方式。

【讨论】:

  • 这 100% 立即为我工作。为了清楚起见,将它与我的 style.css 表中的以下内容配对,供任何感兴趣的人使用:@import url('fonts.googleapis.com/…); body { font-family: 'Poppins', sans-serif; }
  • 我确实复制粘贴了您提供的确切元标记,但没有用
猜你喜欢
  • 2016-03-03
  • 2016-07-19
  • 1970-01-01
  • 2021-03-14
  • 2016-01-14
  • 2019-04-06
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多