Google Chrome会将警告资源解释为字体,但使用MIME类型application / octet-stream进行传输:

时间:2012-11-02 03:56:15

标签: google-chrome playframework-2.0

我一直收到这个警告

资源解释为Font但使用MIME类型application / octet-stream传输:“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

知道我可能做错了什么。

3 个答案:

答案 0 :(得分:31)

实际上,我找到了答案:

  

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

     

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

     

使用以下MIME更新Web服务器的配置   type per font file扩展名:

.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字体/ truetype ttf
    AddType application / x-font-woff woff
    AddType字体/ opentype otf

     

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

     

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

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

答案 1 :(得分:4)

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

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

见:

答案 2 :(得分:2)

如果您使用的是基于机架的应用,则可以修改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"
})