此问题我已在服务器上解决,但未在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扩展程序魔术提前感谢。
答案 0 :(得分:1)
This bug已经修复,因此警告消息(关于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');
}