Предупреждение Google: ресурс интерпретируется как шрифт, но передается с помощью приложения типа MIME/octet-stream

У меня есть предупреждение в Google для моего шрифта:

ресурс интерпретируется как шрифт, но передается с помощью приложения типа MIME/octet-stream: ".../Содержание/шрифты/iconFont.ТЦФ."

он работает, даже если у меня есть это предупреждение, но я предпочитаю избегать этого предупреждения.

вот мое заявление:

@font-face {
  font-family: 'iconFont';
     src: url('../Fonts/iconFont.eot?#iefix') format('embedded-opentype'), 
     url('../Fonts/iconFont.svg#iconFont') format('image/svg+xml'), 
     url('../Fonts/iconFont.woff') format('font/x-woff'), 
     url('../Fonts/iconFont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

Я уже ищу на других сообщениях, но пока не повезло.

обратите внимание, что мой сервер IIS от Microsoft.

любая идея, как я могу избежать этого предупреждения?

спасибо.

7 ответов


другой подход здесь: http://zduck.com/2013/google-chrome-and-woff-font-mime-type-warnings/

используйте настройки ниже в интернете.config:

<system.webServer>
<staticContent>
  <mimeMap fileExtension=".woff" mimeType="application/font-woff"/>
</staticContent>
</system.webServer>

вам нужно добавить следующие типы в an .htaccess / IIS:

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/font-woff .woff  

обновление .вуф типа:

AddType application/x-font-woff .woff

(спасибо @renadeen в комментариях ниже за указание на это.)

проверьте мой ответ на аналогичный вопрос здесь:шрифт не загружен

Взято отсюда: проблема с шрифтом в chrome.


Спасибо за приведенный выше ответ @97ldave, вы можете добавить эти типы в раздел конфигурации веб-сервера IIS, если вы не хотите добавлять их непосредственно в типы MIME в настройке IIS. Ниже приведен пример добавления just the .тип woff, который отсутствовал в нашей конфигурации. Это исправило проблемы со шрифтами, не появляющимися в последней версии Safari (6.0.3) на моем iMac.

<system.webServer>
<staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>
</system.webServer>

спасибо Джону Сэмвел (мой коллега) для нахождения этого.


для Nginx: (путь: / etc/nginx / mime.типы)

font/ttf                         ttf;
font/otf                         otf;
application/x-font-woff          woff;

вам не нужно application/vnd.ms-fontobject eot; потому что она уже существует.

после этого перезапустите Nginx:service nginx restart

сделано.


правильные типы MIME для шрифтов:

application/font-ttf              ttf;
application/font-otf              otf;
application/font-woff             woff;

Если вы запускаете сервер с nodeJS, это хороший модуль для сопоставления типов mime

https://github.com/broofa/node-mime

var mime = require('mime');

mime.lookup('/path/to/file.txt');         // => 'text/plain'
mime.lookup('file.txt');                  // => 'text/plain'
mime.lookup('.TXT');                      // => 'text/plain'
mime.lookup('htm');                       // => 'text/html'

mime.extension('text/html');                 // => 'html'
mime.extension('application/octet-stream');  // => 'bin'

спасибо @The-senator и @97ldave за их ответы

для меня ошибка полностью исчезает сразу после добавления этих строк в сеть.config

<system.webServer>
<staticContent>
      <remove fileExtension=".woff" />
      <mimeMap fileExtension=".woff" mimeType="application/x-font" />
      <remove fileExtension=".woff2" />
      <mimeMap fileExtension=".woff2" mimeType="application/x-font" />
    </staticContent>
</system.webServer>