Гоогле Фонтови не раде у Кини - како то поправити
Разлог због којег користимо Гоогле АПИ за опслуживање библиотека, као што су јКуери и Веб Фонтови, је да брзо служи кроз поуздану инфраструктуру Гооглеа. Користи се скоро свуда и толико да неки корисници можда већ имају кеш меморију у свом прегледачу, што чини учитавање библиотека учитаним. Чак брже.
Нажалост, то није случај у Кини. Влада Кине затворила је приступ многим Гооглеовим услугама, укључујући Гоогле АПИ 2014. године делимично сломљени у Кини јер су јКуери и веб фонтови хостовани у Гооглеу недоступни.
У овом посту, видећемо како да заобиђемо кинески "дигитални" Велики зид, тако да наш сајт може да функционише као да се гледа ван Кине. Користићемо алтернативну библиотеку фонтова која одражава Гоогле фонтове и библиотеке, али прво ћемо морати да уведемо неке мере да идентификујемо кориснике који долазе из Кине..
Идентификација локације корисника
За почетак, мораћемо да пронађемо одакле је наш посетилац и да то учинимо, ми ћемо користити овај ВИПМаниа АПИ који омогућава проналажење геолокације посетиоца, укључујући име њихове земље:
$ .гетЈСОН ('хттп://апи.випманиа.цом/јсонп?цаллбацк=?', функција (подаци) свал ('Ви сте из', дата.аддресс.цоунтри););
Користимо јКуери $ .гетЈСОН
да позовете АПИ. Онда пролазимо дата.аддресс.цоунтри
што би требало да нам каже одакле је посетилац. Овде је демо.
Пружање алтернативног извора Веб Фонта
Тако да сада можемо да пронађемо локацију за посетиоце, заменићемо Гоогле Фонтс са Усесо библиотекама, ЦДН услугом која одражава фонтове и библиотеке из Гоогле АПИ-ја, да би служила посетиоцима из Кине.
У овој фази још увијек имамо стилове фонтова који упућују на Гоогле АПИ:
Ми ћемо заменити хреф
у оквиру линк
елемент са ЈаваСцрипт функцијом.
фунцтион реплацеГооглеЦДН () $ ('линк'). (функција () вар $ интиал = $ (тхис) .аттр ('хреф'), $ реплаце = $ интиал.реплаце ('// фонтс.гооглеапис.цом / ',' //фонтс.усесо.цом/ '); $ (тхис) .аттр (' хреф ', $ реплаце););
Ова функција замењује сваку везу на коју се упућује //фонтс.усесо.цом/
уместо указивања на Гоогле АПИ адресу, //фонтс.гооглеапис.цом/
.
Функција ће се покренути само када је посјетитељ ЦН
, Међународни кинески код земље.
$ .гетЈСОН ('хттп://апи.випманиа.цом/јсонп?цаллбацк=?', функција (дата) иф (дата.аддресс.цоунтри_цоде == 'ЦН') заменитеГооглеЦДН (););
Сви смо спремни. Посетиоци из Кине ће сада добити фонтове преко //фонтс.усесо.цом/
која није блокирана од стране кинеске владе.