2

我在我的网站上使用 webfont 加载器来获取字体,并具有以下设置:

HTML

<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" integrity="sha384-pvXSwSU09c+q9mPyY++ygUHWIYRoaxgnJ/JC5wcOzMb/NVVu+IDniiB9qWp3ZNWM" crossorigin="anonymous"></script>

JS

WebFont.load({
  google: {
    families: ['Libre Franklin']
  }
});

然后在我.htaccess的内容安全策略中设置样式表的来源,如下所示:

style-src 'self' https://fonts.googleapis.com;

但是当站点加载字体时,它使用字体的http://源,因此它被 CSP 阻止,我在控制台中收到以下错误消息:

Refused to load the stylesheet 'http://fonts.googleapis.com/css?family=Libre+Franklin' because it violates the following Content Security Policy directive: "style-src 'self' https://fonts.googleapis.com".

如何确保站点正在加载样式表的 https:// 版本?

4

1 回答 1

0

该库webfonts.js用于location.protocol调整请求http,或者https当您的项目位于其下的域中时,https它将更改为 https

于 2018-02-15T16:00:53.063 回答