5

この問題はサーバーで解決しましたが、Chrome拡張機能では解決しませんでした。で読み込まれたカスタムフォントを使用すると、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

このバグはChrome28以降ですでに修正されているため、警告メッセージ(svgフォントに関する)は関係ありません。

コメントの中で、Joshは、拡張機能の問題がまだ発生していると述べました。おそらく、コンソールに次のメッセージが表示されます。

フォントとして解釈されるが、MIMEタイプtext / plainで転送されるリソース:chrome-extension:// .. ..

Chrome拡張機能とアプリ内のファイルは、オペレーティングシステムで定義されているMIMEタイプで提供されます(mime_util.ccで定義されているいくつかの一般的な形式を除く)。Windowsでは、これらはWindowsレジストリにあり、Linuxでは共有MIMEデータベース( xdg-mimeからアクセス可能)にあります。システムのファイルの関連付けを修正すると、警告は消えます。たとえば、Joshの例では、.ttftofont/truetypewofftoにマッピングするとapplication/font-woff問題が修正されます。

ChromeはTTF、WOFF、SVGフォントをサポートしているため、何らかの理由でMIMEマッピングを変更できない場合は、いつでも別のフォントに切り替えることができます。たとえば、システムの.woffファイルのMIMEタイプが壊れているが、のマッピングが正しい場合.ttfは、次の宣言を使用して、.woffフォントの代わりにTrueTypeフォントをロードします。

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