5

我已经在服务器上解决了这个问题,但在 Chrome 扩展程序中没有解决。当我使用加载了@font-face. 例如:

@font-face {
    font-family: 'fontello';
    src:  url("../../fonts/fontello.svg#fontello") format('svg');
    font-weight: normal;
    font-style: normal;
}

Chrome 告诉我这样的事情:

Resource interpreted as Font but transferred with MIME type image/svg+xml: "fonts/fontello.svg#fontello"

所以在服务器上我可以强制为我的字体设置标题,但我可以在 Chrome 扩展中做什么?任何类型的 Chrome 扩展魔法提前谢谢。

4

1 回答 1

1

自 Chrome 28 以来,此错误已得到修复,因此警告消息(关于 svg 字体)不再相关。

在评论中,乔希说他们仍然遇到扩展问题,大概他在控制台中收到以下消息:

资源解释为字体但使用 MIME 类型 text/plain 传输:chrome-extension://...

Chrome 扩展程序和应用程序中的文件使用操作系统定义的 MIME 类型提供服务(除了mime_util.cc 中定义的一些常见格式)。在 Windows 上,这些位于 Windows 注册表中,在 Linux 中位于共享 MIME 数据库中(可通过xdg-mime访问)。如果您修复系统上的文件关联,警告将消失。例如,在 Josh 的示例中,映射.ttffont/truetypewoffapplication/font-woff将解决问题。

Chrome 支持 TTF、WOFF 和 SVG 字体,因此如果由于某种原因无法更改 MIME 映射,您可以随时切换到不同的字体。例如,如果您的系统.woff文件的 MIME 类型损坏,但映射正确.ttf,只需使用以下声明来加载 true-type 字体而不是 .woff 字体:

@font-face {
  font-family: 'NameOfMyFont';
  src: url('chrome-extension://__MSG_@@extension_id__/fontfile.ttf') format('truetype');
}
于 2015-01-17T21:49:50.580 回答