我正在开发一个显示在特定网站上的谷歌Chrome扩展。我想在我的Chrome扩展中使用Fontawesome。当我尝试加载字体时,出现错误GET chrome-extension://invalid/ net::ERR_FAILED
。
在样式表中,webfonts包含在@font-face
中,如下所示。
src: url('chrome-extension://__MSG_@@extension_id__/Fonts/fontawesome-webfont.eot?v=4.7.0');
我也尝试过直接嵌入我的扩展名,但没有成功。
我的载货单
"web_accessible_resources": ["Fonts/*.*", "*.ttf", "*.eot", "*.svg", "*.woff", "*.woff2"],
如何解决这个问题?
6条答案
按热度按时间llmtgqce1#
我想在@托马斯Kekeisen的答案上添加一个更新的答案,用于FontAwesome的版本5(当前版本是5.13.0)。
另外,我希望尽可能地减少事情的发生,所以:
1.我将只引用
woff2
和since there's no reason to use another format。1.我将只参考FontAwesome的
regular
样式(这是他们的5 styles之一)。因此,如果您使用的格式不是
woff2
,或者样式不是regular
,只需以相同的方式将以下内容应用于它。因此,为了在Chrome扩展中使用FontAwesome,请执行以下操作:
1.解压缩.zip文件,只提取需要的内容,在我们的示例中是:
(a)
css/fontawesome.min.css
(b)
css/regular.min.css
(c)
webfonts/fa-regular-400.woff2
css/all.min.js
,它将同时替换(a)和(b)。*1.* 可选,会让我们的生活更轻松 *:
在Chrome扩展根文件夹下,创建文件夹
css
和webfonts
以模仿FontAwesome结构,并将上面列出的文件移动到这些文件夹中。文件夹结构应如下所示:
1.在
css/regular.min.css
内部,使用以下内容覆盖(是的,只需覆盖它)@font-face
媒体样式:regular
样式作为一个示例引用,因此如果您使用其他样式,请确保@font-face.src
属性具有正确的值 *。1.按如下所示更新您的
manifest.json
:.css
路径添加到"content_scripts"
和"web_accessible_resources"
中 *。laawzig22#
这就是我如何在chrome扩展中获得fontawesome(4.7)的本地(离线)示例的方法:
1)将字体文件(
FontAwesome.otf
、fontawesome-webfont.eot
、fontawesome-webfont.svg
、fontawesome-webfont.ttf
、fontawesome-webfont.woff
、fontawesome-webfont.woff2
)下载到fonts/
2)下载
font-awesome.min.css
到css/
并替换此文件chrome-extension://__MSG_@@extension_id__/fonts/[...]
中的所有url。3)像这样更新你的
manifest.json
:这使得fontawesome可以离线使用(你不需要任何fontawesome-js)。
ie3xauqp3#
以上这些对我都不起作用。可能是因为所有的答案都过时了,因为它们引用了旧版本的Font Awesome。我找到what Font Awesome 6 suggests on their official website后解决了这个问题。
简而言之:
css/all.css
,css
是您刚刚解压缩的文件夹中的文件夹注意:确保插入正确的路径。
获取文件路径的一些很棒的教程:
nsc4cvqm4#
最简单但也很糟糕的方法是下载Fontawesome并直接包含它
然后添加到需要的地方
disbfnqx5#
如果您需要使用Font Awesome作为Chrome扩展的内容脚本(而不是popup.html),您可以执行以下操作:
下载
https://use.fontawesome.com/840a321d95.js
,将其重命名为fontawesome.js
,并将其包含在扩展的目录中,如@wesdotcool的答案所述。然后将以下内容添加到
manifest.json
:mctunoxg6#
我成功地能够使用字体真棒使用Sass在我的chrome扩展。
使用sass将
FontAwesome 5.11.x
集成到chrome扩展中的步骤:1.转到Font Awesome Download page以下载特定于Web的文件的本地副本。
1.将
SCSS
文件夹复制到样式文件夹中。1.将整个
webfonts
文件夹复制到assets文件夹中。1.打开字体awesome
scss/variables.scss
,编辑$fa-font-path
变量,使其指向放置webfonts文件夹的位置。您需要使用
chrome-extension://__MSG_@@extension_id__/
查找扩展文件夹的路径。对于我来说,字体文件的路径是-
extension/chrome/assets/font-awesome
,所以我将$fa-font-path
更改为chrome-extension://__MSG_@@extension_id__/assets/font-awesome
。1.在主SCSS文件中添加
@import "scss/fontawesome.scss"
,导入字体。另外,在主SCSS文件中导入一个或多个样式@import "scss/solid.scss"
。如果您使用常规字体,则导入regular.scss
。执行您的网页扩展,你应该能够使用字体真棒图标。