这个问题我已经在服务器上解决了,但没有在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扩展的魔力都要提前感谢。
发布于 2015-01-18 05:49:51
自Chrome28以来,This bug已经被修复,所以警告消息(关于svg字体)不再相关。
在一条评论中,Josh说他们仍然遇到了扩展的问题,大概他在控制台上得到了以下消息:
资源解释为字体,但使用MIME类型文本/纯文本传输: 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');
}https://stackoverflow.com/questions/14186735
复制相似问题