Как же так?#iefix решить загрузку веб-шрифтов в IE6-IE8?



много статей в интернете, как это : http://www.fontspring.com/blog/fixing-ie9-font-face-problems предлагаю добавить ?#iefixк url-адресу eot. Мне было любопытно узнать как это решит проблему. Спасибо.

638   4  

4 ответов:

IE8 и более старые имеют ошибку в своих парсерах для атрибута src. Поэтому, если вы включаете более 1 формата шрифта в SRC, IE не загружает его и сообщает об ошибке 404.
Вопросительный знак решает эту проблему, поскольку он обманывает IE, думая, что остальная часть строки (другой src) является строкой запроса, и поэтому загружает только файл EOT...
Другие браузеры будут следовать спецификации и загружать только их необходимый тип шрифта ...
Возможно, вы захотите прочитать пола Айриша пуленепробиваемый @ font-face синтаксис чтобы узнать больше о некоторых других почему ...

вы могли бы сделать что угодно вместо ?#iefix: основная цель состоит в том, чтобы поставить ?#somethingпосле первого файла шрифта в URL as @Rexyz уже ответил.

@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#FooAnything') format('embedded-opentype'), /* IE6-IE8 */
     url('webfont.woff') format('woff'), /* Modern Browsers */
     url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
     url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

The ?#iefix можно ли остановить браузер, интерпретирующий любые символы после ? как строка запроса и поэтому предотвращает другую возможную ошибку сервера.

полностью осознавая, что это старый вопрос.

но для тех, кто пришел сюда в поисках какой версии "этого" браузера нужен этот хак, теперь безопасно удалить, если вы не поддерживаете IE

Так что просто избавиться от него и есть только одна строка, перечисляющая все шрифты во всех форматах, которые вы предлагаете.

Comments

    Ничего не найдено.