【发布时间】:2015-12-05 05:05:16
【问题描述】:
我已经使用 npm 下载了 FontAwesome,然后使用 grunts 复制任务将 css 文件和字体复制到我的电子应用程序根目录中的正确文件夹中。
到目前为止一切顺利。一切都在它应该在的地方。
现在,当我在我的应用程序中引用 FontAwesome 时,图标不会被加载。这些是我在控制台中遇到的错误:
解码下载的字体失败:
file:///path/to/fonts/fontawesome-webfont.woff2?v=4.4.0
OTS 解析错误:无法将 WOFF 2.0 字体转换为 SFNT解码下载的字体失败:
file:////path/to/fonts/fontawesome-webfont.woff?v=4.4.0
OTS 解析错误:WOFF 标头中的文件大小不正确解码下载的字体失败:
file:////path/to/fonts/fontawesome-webfont.ttf?v=4.4.0
OTS解析错误:表目录的entrySelector不正确
我已经尝试通过删除所有版本参数来修改 FontAwesome 的 css 文件,但这似乎不是问题。通过electron . 启动应用程序以及在浏览器中查看 html 文件时都会出现问题。
更新
回答一些cmets:
- 此问题出现在电子和浏览器中(在 chrome 和 firefox 中测试)
- 我使用的是最新版本的 FontAwesome (4.4.0) 和 Electron (0.32.1)(通过 npm 全新安装)
- css 加载如下:
<link rel="stylesheet" type="text/css" href="css/font-awesome.css" >
【问题讨论】:
-
假设您在服务器上的物理位置有文件,这个问题是因为服务器不允许带有
.woff扩展名的文件。您必须在允许的 MIME 类型中添加.woff。在 IIS 中,转到 IIS 服务器 > 您的网站。单击 IIS 部分下的 MIME 类型,然后右键单击并添加新的 MIME 类型,文件扩展名为.woff和 MIME 类型text/woff -
@JSantosh,感谢您的评论。不幸的是,这些文件不在服务器上。他们应该通过电子应用程序交付,所以基本上,他们在本地。
-
在浏览器中打开HTML文件而不是electron时是否也遇到同样的问题?
-
@YanFoto,是的,这发生在电子和浏览器中。
-
能否提供用于加载字体的 CSS sn-p?
标签: javascript css gruntjs font-awesome electron