Google字体违反了内容安全政策

问题描述 投票:28回答:3

我正在尝试使用谷歌字体,我从来没有遇到任何问题,但现在当我尝试在我的标题上添加CSS文件时,我在控制台上收到此错误:

拒绝加载样式表'http://fonts.googleapis.com/css?family=Whatever',因为它违反了以下内容安全策略指令:"style-src 'self' 'unsafe-inline'"

html css http google-font-api content-security-policy
3个回答
59
投票

这里有两件事需要解决:

  • 使用https作为Google字体链接(https://fonts.googleapis.com/css?family=Whatever
  • https://fonts.googleapis.com指令中授权style-src,在https://fonts.gstatic.com指令中授权font-src"style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com"

23
投票

如果你像我一样有点困惑,因为每个答案只是说你需要在style-src指令中授权一个URL而不显示如何做,这里是完整的标签:

<meta http-equiv="Content-Security-Policy" content="style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com;">

3
投票

可以为Content-Security-Policy提供多种来源。

下面有明确的细节,对我有用。

根据您拥有的内容(css,img,font,media)源错误,您可以更改以下URL。

<html>

<head>

  <meta http-equiv="Content-Security-Policy"
    content="
      default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; 
      style-src   'self' https://fonts.googleapis.com;
      font-src    'self' data: https://fonts.gstatic.com;
      img-src     'self' data: content:;
      media-src   *;
            "
  />

 <title>My page title</title>

</head>

<body>
  some text
</body>

</html>

希望有所帮助。

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