Google Fonts не работают в Китае — как это исправить
Причина, по которой мы используем Google API для обслуживания таких библиотек, как jQuery и веб-шрифты, заключается в том, что он работает быстро благодаря надежной инфраструктуре Google. Он используется почти везде, и настолько, что некоторые пользователи уже могут хранить кеш в своем браузере, что заставляет библиотеки загружаться даже Быстрее.
К сожалению, это не так в Китае. Правительство Китая закрыло доступ ко многим сервисам Google в том числе Google API в 2014 году. Скорее всего, ваш сайт может быть частично поврежден в Китае, поскольку размещенные в Google jQuery и веб-шрифты недоступны.
В этом посте мы рассмотрим, как обойти «цифровую» Великую китайскую стену в Китае, чтобы наш веб-сайт мог работать так же, как и за пределами Китая. Мы будем использовать альтернативную библиотеку шрифтов, которая отражает Google шрифты и библиотеки, но сначала нам нужно будет предпринять некоторые меры для идентификации пользователей, которые родом из Китая.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Рекомендуемое чтение: оптимизация Google Web Font
Определение местоположения пользователя
Для начала нам нужно найти, откуда наш посетитель, и для этого мы будем использовать это WIPMania API это позволяет получить геолокацию посетителя, включая название страны:
$ .getJSON (‘http://api.wipmania.com/jsonp?callback=?’, функция (данные) {
swal («Вы из», data.address.country);
});
Мы используем jQuery $ .getJSON для вызова API. Затем мы передаем data.address.country, который должен сообщить нам, откуда посетитель. Вот демо.
Предоставление альтернативного источника веб-шрифтов
Итак, теперь, когда мы можем получить информацию о местоположении нашего посетителя, мы собираемся заменить Google Fonts на Библиотеки Useso— сервис CDN, который отображает шрифты и библиотеки из Google API для обслуживания посетителей из Китая.
На этом этапе у нас все еще есть стили шрифтов, указывающие на Google API:
Мы заменим href внутри элемента link функцией JavaScript.
function replaceGoogleCDN () {
$ ( ‘Ссылка’). Каждая (функция () {
var $ intial = $ (this) .attr (‘href’),
$ replace = $ intial.replace (‘// fonts.googleapis.com/’, ‘//fonts.useso.com/’);
$ (this) .attr (‘href’, $ replace);
});
}
Эта функция заменяет каждую ссылку для ссылки на //fonts.useso.com/ вместо указания на адрес API Google, //fonts.googleapis.com/.
Функция будет работать только тогда, когда посетитель будет из CN, международного кода страны.
$ .getJSON (‘http://api.wipmania.com/jsonp?callback=?’, функция (данные) {
if (data.address.country_code == ‘CN’) {
replaceGoogleCDN ();
}
});
У нас все готово. Теперь посетителям из Китая будут предоставляться шрифты через //fonts.useso.com/, который не заблокирован правительством Китая.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)