Хостинг Typekit JS локально

Typekit требует, чтобы мы включили их JS-файл для отображения шрифтов, например:

<script type="text/javascript" src="https://use.typekit.com/random-name.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>

Я заметил, что было несколько случаев, когда их сервер медленно отвечал, что приводило к остановке страницы. К сожалению, у некоторых людей был подобный опыт.

Я попытался разместить файл JS локально, и, похоже, это сработало.

<script type="text/javascript" src="http://use.typekit.com/random-name.js"></script>
<script type="text/javascript">window.Typekit || document.write('<script type="text/javascript" src="/scripts/js/ext/random-name.js">\x3C/script>')</script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>

Мои вопросы:

  1. Есть ли отличия при рендеринге шрифтов из локального JS?
  2. Будет ли реферер HTTP быть одинаковым между использованием удаленного JS и локального?

Спасибо.

Связанный:


person moey    schedule 12.09.2012    source источник


Ответы (3)


Это Бен из службы поддержки Typekit.

Мы не можем гарантировать, что шрифты будут продолжать работать должным образом, если файлы размещены локально, и по этой причине мы не рекомендуем размещать файл JavaScript самостоятельно.

Чтобы решить любые проблемы с медленным временем отклика, мы рекомендуем загружать Typekit асинхронно. Подробнее об этом можно узнать здесь: http://help.typekit.com/customer/portal/articles/649336-embed-code

Этот код не будет блокировать отрисовку во время загрузки Typekit JS, позволяя немедленно отобразить остальную часть страницы.

person Benjamin Welch    schedule 12.09.2012
comment
Я хотел бы знать, доступны ли загрузка Typekit.load, активные и неактивные события, если применяется асинхронная загрузка? - person Sebastian; 04.04.2013
comment
Проблема с решением сценария Typekit Async заключается в том, что шрифт загружается каждый раз, а кеш не работает... Я выбрал решение typekit-cache ниже. - person Nima Izadi; 27.08.2015
comment
Однако асинхронная загрузка означает, что сайт будет отображаться с другим шрифтом, и когда typekit загрузится, шрифт typekit заменит существующий. Это заставит веб-сайт «мерцать» и создаст очень плохой пользовательский опыт. github.com/morris/typekit-cache — единственный хороший вариант, но можете ли вы это подтвердить? противоречит Условиям использования? @Бенджамин Уэлч - person Shikiju; 24.11.2016

Для этого, а также для устранения мельканий нестилизованного текста я реализовал простой скрипт, кэширующий Typekits в localStorage: https://github.com/morris/typekit-cache — возможно, это поможет будущим пользователям typekit столкнуться с теми же проблемами.

person morris4    schedule 17.02.2015

  1. Нет. Просто старайтесь обновлять файл JS.
  2. да. Запрос по-прежнему выполняется браузером пользователя с вашего доменного имени.
person Māris Kiseļovs    schedule 12.09.2012