由于我无法在CSS文件中使用
chrome.extension.getURL()
,那么我该如何使用@font-face来加载本地字体文件?chrome.extension.getURL()
,那么我该如何使用@font-face来加载本地字体文件?以下是如何在CSS中获取本地路径的方法:
body {
background-image:url('chrome-extension://__MSG_@@extension_id__/background.png');
}
关于此更多信息,请点击这里。
var fa = document.createElement('style');
fa.type = 'text/css';
fa.textContent = '@font-face { font-family: FontAwesome; src: url("'
+ chrome.extension.getURL('lib/fa/fonts/fontawesome-webfont.woff?v=4.0.3')
+ '"); }';
document.head.appendChild(fa);
在你的清单文件中:
"css":[
"lib/fa/css/font-awesome.min.css",
...
]
"web_accessible_resources":[
"lib/fa/fonts/*",
...
]
只需使用相对URL。这样会更简单、更清洁,而且是正确的做法™:
@font-face {
font-family: 'FontAwesome';
src: url('../font/fontawesome-webfont.eot');
}
我知道这个问题很老,但它是谷歌搜索的顶部结果,而且被接受的答案效率低下。
编辑:看起来其他人对此得到了不同的结果。我应该提到,当在内容脚本中使用时,它可能不起作用。我已经在弹出式脚本中测试过了,它可以正常工作。
format()
。 - matpie