Chrome Extensions шрифт-лицо mime-тип

эту проблему я решил на сервере, но не в расширениях 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 Extensions magic заранее благодарит.

1 ответов


эта ошибка уже исправлено с Chrome 28, поэтому предупреждающее сообщение (о шрифтах svg) больше не актуально.

в комментарии Джош сказал, что они все еще испытывают проблему для расширений, предположительно, он получает следующее сообщение в консоли:

ресурс интерпретируется как шрифт, но передается с помощью типа MIME text / plain: chrome-extension://...

файлы в расширение для Chrome и приложение обслуживается с MIME-типами, определенными операционной системой (за исключением несколько распространенных форматов, определенных в mime_util.cc). В Windows они находятся в реестре Windows, в Linux в общей базе данных MIME (доступно через xdg-mime). Если вы исправите ассоциацию файлов в своей системе, предупреждение исчезнет. Е. Г. в Примере Джоша, картографическая .ttf to font/truetype и woff to application/font-woff исправит проблему.

Chrome поддерживает TTF, WOFF и шрифты SVG, поэтому, если вы по какой-то причине не можете изменить отображение MIME, вы всегда можете переключиться на другой шрифт. Например, если ваша система имеет сломанный MIME-тип для .woff файлы, но правильное отображение для .ttf, просто используйте следующее объявление для загрузки шрифта true-type вместо .шрифт вуф:

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