Chrome扩展程序font-face mime-type

nic*_*s_r 5 font-face google-chrome-extension

这个问题我已在服务器上解决,但未在Chrome扩展程序中解决.当我使用加载的自定义字体时,Chrome会向我发出警告@font-face.例如:

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

Chrome告诉我这样的事情:

Resource interpreted as Font but transferred with MIME type image/svg+xml: "fonts/fontello.svg#fontello"
Run Code Online (Sandbox Code Playgroud)

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

Rob*_*b W 1

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

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

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

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

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

@font-face {
  font-family: 'NameOfMyFont';
  src: url('chrome-extension://__MSG_@@extension_id__/fontfile.ttf') format('truetype');
}
Run Code Online (Sandbox Code Playgroud)