17

我不断收到此警告

资源解释为字体,但使用 MIME 类型应用程序/八位字节流传输:“http://127.0.0.1:8080/assets/font/fontawesome-webfont.woff”。

我正在使用 Play 2.0.4 网络服务器。我将 mime-types 添加到我的 application.conf 文件中,如下所示

mimetype.eot = application/vnd.ms-fontobject
mimetype.otf = application/octet-stream
mimetype.ttf=application/x-font-ttf
mimetype.woff = application/x-font-woff

知道我可能做错了什么。

4

3 回答 3

30

实际上,我找到了答案:

某些浏览器(例如 Google Chrome)会在从 Web 服务器下载字体时显示此警告,该字体设置了意外的字体 MIME 类型。

对于许多字体类型,有一个解决方案!

使用以下每个字体文件扩展名的 MIME 类型更新 Web 服务器的配置:

.ttf — font/truetype 
.otf — font/opentype 
.eot — application/vnd.ms-fontobject 
.woff — application/x-font-woff 

如果您使用的是 Apache 配置,您可以为每种字体类型包含 AddType 指令:

AddType application/vnd.ms-fontobject eot
AddType font/truetype ttf
AddType application/x-font-woff woff
AddType font/opentype otf

为每个字体配置一个特定的 MIME 类型,而不是通用的 application/octet-stream MIME 类型,您应该不再在 Web 浏览器控制台中看到警告。

此配置虽然对清理控制台很有效,但不包括 OTF、TTF 和 WOFF 等字体在技术上正确的 MIME 类型。对于这些字体类型,官方 MIME 类型尚未(尚未)获得批准。WOFF 的官方类型——application/font-woff——已被请求。AddType font/opentype otf

http://www.jbarker.com/blog/2011/resource-interpreted-font-transferred-mime-type

于 2012-11-12T09:14:33.873 回答
4

对于我的 IIS 实例,我必须使用以下内容:

.woff—— application/font-woff(不是application/x-font-woff

看:

于 2013-09-04T20:03:21.127 回答
2

如果您使用的是基于 Rack 的应用程序,您可以修改您的Rack::Mime::MIME_TYPES哈希config.ru

# Additional mime types
Rack::Mime::MIME_TYPES.merge!({
  ".eot" => "application/vnd.ms-fontobject",
  ".ttf" => "font/ttf",
  ".otf" => "font/otf",
  ".woff" => "application/x-font-woff"
})
于 2013-06-28T22:08:15.487 回答