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