谷歌浏览器给出警告资源解释为字体但使用 MIME 类型应用程序/八位字节流传输:

Posted

技术标签:

【中文标题】谷歌浏览器给出警告资源解释为字体但使用 MIME 类型应用程序/八位字节流传输:【英文标题】:Google Chrome gives warning Resource interpreted as Font but transferred with MIME type application/octet-stream: 【发布时间】:2012-10-22 17:59:22 【问题描述】:

我不断收到此警告

资源被解释为字体,但使用 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

知道我可能做错了什么。

【问题讨论】:

我也是。这是怎么回事。 Guarav,有机会请选择我的答案。谢谢 【参考方案1】:

其实我找到了答案:

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

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

使用以下 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 字体/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

【讨论】:

我正在使用 MAMP,并且对 fontawesome woff 字体也有同样的问题。我在 MAMP/conf/apache/mime.types 文件中添加了“application/x-font-woff woff”,在 MAMP/conf/apache/httpd.conf 文件中添加了“AddType application/x-font-woff woff”,但 Chrome 中仍然出现警告...不确定如何处理 ***.com/a/3226777/1362009 中提到的魔法文件? @RayOnAir 将此添加到 MAMP 中的 .htaccess 对我有用 - 文档说 addType 指令可用于以下上下文:服务器配置、虚拟主机、目录、.htaccess - httpd.apache.org/docs/2.2/mod/mod_mime.html#addtype 根据this spec application/font-woff 现已正式推荐。 application/font-woff 在 MAMP Pro 中为我工作,而其他人没有。谢谢马歇尔【参考方案2】:

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

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

见:

Resource interpreted as Font but transferred with MIME type application/x-font-woff http://zduck.com/2013/google-chrome-and-woff-font-mime-type-warnings/

【讨论】:

【参考方案3】:

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

# Additional mime types
Rack::Mime::MIME_TYPES.merge!(
  ".eot" => "application/vnd.ms-fontobject",
  ".ttf" => "font/ttf",
  ".otf" => "font/otf",
  ".woff" => "application/x-font-woff"
)

【讨论】:

以上是关于谷歌浏览器给出警告资源解释为字体但使用 MIME 类型应用程序/八位字节流传输:的主要内容,如果未能解决你的问题,请参考以下文章

Node.Js:资源解释为字体但使用 MIME 类型 text/html 传输

资源解释为文档,但使用 MIME 类型 application/csv 传输

Chrome 说“资源解释为脚本,但使用 MIME 类型文本/纯文本传输。”,啥给出?

font-face+chrome+django:如何避免消息“资源解释为字体但使用 MIME 类型应用程序/八位字节流传输。”

OTF 字体的正确 MIME 类型

OTF 字体的正确 MIME 类型