【问题标题】:Chrome Extensions font-face mime-typeChrome 扩展字体-face mime-type
【发布时间】:2012-12-20 15:19:16
【问题描述】:

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

@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 扩展程序魔法提前致谢。

【问题讨论】:

标签: google-chrome-extension font-face


【解决方案1】:

This bug 自 Chrome 28 以来已被修复,因此警告消息(关于 svg 字体)不再相关。

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

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

Chrome 扩展程序和应用程序中的文件使用操作系统定义的 MIME 类型提供服务(a few common formats defined in mime_util.cc 除外)。在 Windows 上,这些位于 Windows 注册表中,在 Linux 中位于共享 MIME 数据库中(可通过xdg-mime 访问)。如果您修复系统上的文件关联,警告将消失。例如。在 Josh 的示例中,将 .ttf 映射到 font/truetype 并将 woff 映射到 application/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');
}

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 2011-02-06
    • 2012-03-04
    • 2011-05-12
    • 2013-10-13
    • 2011-11-28
    • 1970-01-01
    • 2023-03-13
    相关资源
    最近更新 更多