Я работаю в государственной сети, где настройками безопасности управляет ИТ. Мы также ограничены использованием IE9 на всех наших машинах. Я разрабатываю веб-приложения, используемые в содержании уроков (мы школа) для студентов, поэтому я стараюсь, чтобы страницы выглядели как можно более современными, чтобы не утомлять студентов. На наших машинах даже нет Helvetica, а мы обучаем графическому дизайну.
До недавнего времени я терял надежду, пытаясь заставить @font-face работать на страницах, которые я делаю для своей школы. То есть ... пока я не обнаружил Prezi. Если вы перейдете на http://prezi.com с параметрами безопасности IE9 и интернет-сайта, установленными на "средне-высокий", вы Увидим, что сайт по-прежнему волшебным образом загружает свой шрифт «PT Sans» на страницу прямо с сайта fonts.googleapis. Когда я обнаружил это, я буквально провел целые 24 часа, пытаясь реконструировать их метод, но не смог воспроизвести его на своем внешнем сервере, а затем провел следующие 24 часа, отслеживая разработчиков интерфейса Prezi, чтобы узнать, они могли выдать мне свою тайну (эй, это же правительство, у нас есть свободное время), конечно, все напрасно.
Проблеск надежды от того, что Прези разобрался с этим, заставил меня по-собачьи зациклиться на этом вопросе. Я перепробовал все хитрости и исправления в Интернете в течение года. Я все еще не могу заставить его работать.
Прези использует:
<link href='//fonts.googleapis.com/css?family=PT+Sans:400,700&subset=latin-ext,cyrillic-ext' rel='stylesheet' type='text/css'>
для вызова шрифта со своей индексной страницы, которая возвращает это:
@font-face {
font-family: 'PT Sans';
font-style: normal;
font-weight: 400;
src: url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/mqvGe0REcQNb_tfYSePALA.eot);
src: local('PT Sans'), local('PTSans-Regular'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/mqvGe0REcQNb_tfYSePALA.eot) format('embedded-opentype'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/jduSEW07_j4sIG_ERxiq4Q.woff) format('woff');
}
@font-face {
font-family: 'PT Sans';
font-style: normal;
font-weight: 700;
src: url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/1FvfuwkSjtdD3II7O-pVp_esZW2xOQ-xsNqO47m55DA.eot);
src: local('PT Sans Bold'), local('PTSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/1FvfuwkSjtdD3II7O-pVp_esZW2xOQ-xsNqO47m55DA.eot) format('embedded-opentype'), url(http://themes.googleusercontent.com/static/fonts/ptsans/v5/HXiERDIZdwFzjXlbcMq7XPesZW2xOQ-xsNqO47m55DA.woff) format('woff');
}
А затем они просто используют его как обычный веб-шрифт, используя семейство шрифтов: «PT Sans»; !!!
Я могу воспроизвести все это в локальном html-файле, потому что параметры безопасности для страниц интрасети ниже, чем для обычных интернет-страниц. Но мне не разрешено использовать интрасеть для своих приложений.
Как Прези это удалось! Что они могли сделать, чтобы заставить его работать на своем сайте? Разработчики внешнего интерфейса Prezi не ответили на мои сообщения в Facebook, Twitter, электронной или голосовой почте. Программное обеспечение Prezi, очевидно, является проприетарным, но это веб-страница на их сайте, а не их программный продукт.
Мои ИТ-специалисты тоже не помогают, рассказывая мне то, что я уже знаю, например, «средне-высокие» настройки безопасности блокируют @font-face (но, очевидно, это не так, потому что Prezi сделал это). У них определенно есть рыба покрупнее. В качестве соски они подтолкнули Chrome и FF к моей кабинке. Чаще всего они имеют дело с вопросами типа «мой экран черный» или «какой у меня рабочий стол».
Поскольку мой вопрос настолько специфичен для моей среды, архитектуры и ситуации, это действительно выстрел в темноту. Я действительно потратил более 24 часов на реинжиниринг домашней страницы Prezi, чтобы понять это, но безрезультатно. Это была пустая трата времени.
Как они могли обойти настройки безопасности моей сети, если никакой другой веб-сайт, даже http://www.google.com/fonts отображает шрифты на наших машинах?
Примечание: прошу прощения за болтливость. Был час ночи и прошло 37 часов.