我在Content-Security-Policy
设置了Nginx
标题,但我仍然坚持让本地托管的Typekit
字体生效。
我正在使用以下脚本在本地托管Typekit
字体,结果非常好,加载时间很短,没有FOUT:https://github.com/morris/typekit-cache
但现在问题是设置CSP来传递这些字体。我试过localStorage但它没有用。
这些是我得到的错误:
[仅报告]拒绝加载字体 '数据:字体/ OpenType字体; BASE64,d09GMgABAAAAAFb0ABQAAAAAskgAAFaDAAIAAAAAAAAAAAAAA ... bJbjfY7U6T320POPp5HLprLxRlPwIJqShhBB1pRCUKkQmIKRpGoiON1kre7lGR0Z4h5ENMAQAA' 因为它违反了以下内容安全策略指令: “font-src'self'
[仅报告]拒绝加载字体 '数据:应用程序/字体WOFF;的base64,d09GRgABAAAAABwUAA4AAAAAKHQAAQAAAAAAAAAAA ... NfJJTVolXlnco7lXdLiWW32CnmmMrFlnJ5aXLN8srxynGxmBgfv9d + AQ8KdggAAAABVwJMPAAA' 因为它违反了以下内容安全策略指令: “font-src'self'
(我删除了为font-src政策列出的域名。)
谢谢
答案 0 :(得分:8)
你可以看到它在加载时将它创建为data
的字体src。这是字体的base64编码版本,而不是字体本身的链接。
所以,只需将font-src 'self';
更改为font-src 'self' data: ;
,它就可以正常使用。