Как обслуживать шрифты с разных серверов для пользователей IE?

У меня есть пользователи IE9, которые не видят мои пользовательские шрифты. Сначала я подумал, что это проблема CORS, но после некоторых экспериментов я считаю, что это связано с тем, что настройки безопасности таковы, что IE не разрешает какой-либо сторонний контент ни при каких обстоятельствах (это в огромной консервативной корпоративной сети управляемых компьютеров).

Я не уверен, что это также может быть проблемой в более новых версиях IE, настроенных на «высокий» уровень безопасности.

Поэтому я считаю, что лучшим решением является предоставление шрифтов пользователям IE напрямую из моего домена, а не из CDN.

  1. это звучит как хороший подход?
  2. как это сделать с условными комментариями?

person John Bachir    schedule 13.08.2014    source источник
comment
Вы хотите сказать, что хотите, чтобы пользователи IE получали свои шрифты из другого домена, чем пользователи других браузеров? Почему?   -  person Mr Lister    schedule 14.08.2014
comment
да. потому что IE в режиме высокой безопасности не позволяет получать шрифты из стороннего домена (мой CDN) даже с настроенным CORS (насколько я могу судить). Поэтому для пользователей IE я не хочу использовать свой CDN, я хочу обслуживать шрифты непосредственно из моего основного домена.   -  person John Bachir    schedule 14.08.2014
comment
Я имел в виду, что самое простое решение - предоставить шрифты из вашего основного домена всем браузерам, в том числе не IE. Так зачем различать?   -  person Mr Lister    schedule 14.08.2014
comment
Потому что я хочу воспользоваться преимуществами CDN для других пользователей.   -  person John Bachir    schedule 14.08.2014


Ответы (1)


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

<!--[if IE 9]>
    stylesheet using internally served fonts
<![endif]-->

и возможно

<!--[if !IE]> -->
    stylesheet using CDN
<!-- <![endif]-->

Последнее будет применяться не только к браузерам, отличным от IE, но и к IE10 и выше, но вам может потребоваться только первое.

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

person vvviolet    schedule 20.08.2014
comment
Спасибо! Я вырезал часть своего вопроса о Бурбоне и сделал его отдельным вопросом: stackoverflow.com/questions/25435024/ - person John Bachir; 22.08.2014
comment
Если вы поместите условный комментарий IE9 после обычной таблицы стилей, вам не потребуются какие-либо условные комментарии вокруг обычной таблицы. Включение IE9 переопределит предыдущие стили, если они имеют тот же селектор или специфичность. - person Ross Allen; 27.08.2014