Rails 3 Web字体(woff)MIME类型

我们为静态资产提供一些网络字体(.woff),并且我想设置正确的MIME类型( application/x-font-woff )。 我试图在config/initializers/mime_types.rb做到这一点,但它没有效果:

Mime::Type.register "application/x-font-woff", :woff

返回的MIME类型仍然保留application/octet-stream 。 我甚至试图添加这一行(因为它是rails源码中唯一可以找到字符串"woff" ):

Rack::Mime::MIME_TYPES[".woff"] = "application/x-font-woff"

但它仍然没有帮助。 如何正确设置Web字体的MIME类型?


在Rack将其MIME类型列表修复为正确的woff ,临时攻击确实是您的config/initializers/mime_types.rb行:

# tell Rack (and Sprockets) about modern font MIME types:
Rack::Mime::MIME_TYPES['.woff'] = 'application/x-font-woff'

但要真正生效,必须清除tmp/cache并重新启动服务器。


虽然我也没有找到一些解决方法,但是我前几天研究过这个问题(在我的rails 3.2 dev服务器上运行WEBRick,以供参考),它是Sprockets在响应中设置了错误的MIME类型,可能是将选择委托给Rack,对于什么样的MIME类型要传递给字体,这个愚蠢的概念(就像这种可疑的提交)一样。

我在Sprockets上提交了一张(详细)票据,并向Rack提出了一个请求,希望它能够在最有意义的上游获得固定位置,但目前还没有看到太多动作。 我可能应该更多地关注ttf和eof,但是时间已经晚了,我当时没有想到它。

(评论可能会提高对这个问题的认识 - 一个问题是没有问题的,一堆人是一个值得修复的问题?:-)

链接地址: http://www.djcxy.com/p/46987.html

上一篇: Rails 3 web font (woff) mime type

下一篇: Icon fonts not loading in IE11