chrome 扩展 shadow DOM 导入 boostrap 字体

Ska*_*lun 2 font-face google-chrome-extension shadow-dom

所以我想在从 chrome 扩展内容脚本添加的 shadowroot 中显示引导程序 3 图标。到目前为止它不起作用,帮助?

manifest.js 在 web_accessible_resources 中包含 woff 文件

shadow root 的样式标签为:

 @import url(chrome-extension://__MSG_@@extension_id__/fonts/glyphicons-halflings-regular.woff2); 
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Sup*_*arp 5

要导入字体,您不应使用@import urlwhich 用于导入 CSS 样式表。

相反,您应该使用该@font-face指令。

此外,该指令应该放在<head>HTML 页面的元素中,而不是放在 Shadow DOM 中。

host.attachShadow( { mode: 'open' } )
    .innerHTML = `
    <style>.icon { font-family: Icons; color: green ; font-size:30pt }</style>
    <span class="icon">&#xe084</span>`
Run Code Online (Sandbox Code Playgroud)
@font-face {
    font-family: "Icons" ;
    src: url("https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff2") format("woff2")
}
Run Code Online (Sandbox Code Playgroud)
<div id=host></div>
Run Code Online (Sandbox Code Playgroud)

您可以阅读此 SO 答案以获取更多详细信息。