我正在尝试添加图标字体,但某些网页阻止了我的字体,因为我使用的是这样的外部 URL:
/* fallback */
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/s/materialicons/v31/2fcrYFNaTjcS6g4U3t-Y5UEw0lE80llgEseQY3FEmqw.woff2) format('woff2');
}
.material-icons {
font-family: 'Material Icons', sans-serif, monospace, Arial,
Helvetica, Verdana, Futura;
font-weight: lighter;
font-style: normal;
font-size: 1.5em;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-moz-font-feature-settings: 'liga';
-moz-osx-font-smoothing: grayscale;
}
控制台错误显示如下:
拒绝加载字体 'data:font/woff;base64,.....ZU=' 因为它违反了以下内容安全策略指令:“default-src 'self' *.mozilla.net *.mozilla.org * .mozilla.com”。请注意,'font-src' 没有显式设置,所以 'default-src' 用作后备。
我不确定是否可以从外部服务器加载此字体,因此我已经下载了该字体并尝试将其添加到我的附加组件中,但没有成功。
这是我的根路径:
- css
- fonts
- Material_Icons.woff2
- msc-icons.css
- manifest.json
我的Material_Icons.woff2:
/* fallback */
@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url('Material_Icons.woff2') format('woff2');
}
.material-icons {
font-family: 'Material Icons', sans-serif, monospace, Arial,
Helvetica, Verdana, Futura;
}
我的manifest.json:
{
"manifest_version": 2,
"name": "xxx",
"version": "1.0",
"description": "xxx",
"icons": {
"48": "icon/msc.ico",
"98": "icon/msc-x2.ico"
},
"content_security_policy": "script-src 'self'
https://*.fonts.gstatic.com/s/materialicons/v31/2fcrYFNaTjcS6g4U3t-
Y5UEw0lE80llgEseQY3FEmqw.woff2; object-src 'self'",
"web_accessible_resources": [
"./css/fonts/Material_Icons.woff2"
],
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["./js/vue.js", "./js/msc-scripts.js"],
"css": ["./css/msc-styles.css", "./css/fonts/msc-icons.css",
"./css/fonts/msc-fonts.css"]
}
],
"applications": {
"gecko": {
"id": "borderify@example.com"
}
}
}
我添加了这个来解决我的第一个问题:
内容安全政策
我添加了解决我的第二个问题:
web_accessible_resources
但我还没有成功。