Fonturile Google nu funcționează în China - Cum să remediați acest lucru
Motivul pentru care folosim API-ul Google pentru a servi bibliotecile, cum ar fi jQuery și Fonturile Web, este că servește rapid prin infrastructurile fiabile ale Google. Este folosit aproape oriunde și atât de mult încât unii utilizatori ar putea să aibă deja memoria cache stocată în browser, ceea ce face ca bibliotecile să se încarce chiar mai repede.
Din păcate, acest lucru nu este cazul în China. Guvernul chinez a închis accesul la multe dintre serviciile Google, inclusiv Google API în 2014. Este posibil ca site-ul dvs. să fie posibil par parțial rupte în China, deoarece jQuery și fonturile web găzduite în Google sunt inaccesibile.
În acest post, vom vedea cum să depășim Marele Zid "digital" al Chinei, astfel încât site-ul nostru să poată fi rulat cum se vede în afara Chinei. Vom folosi o bibliotecă alternativă de fonturi care oglindă Fonturile și bibliotecile Google, dar mai întâi va trebui să introducem câteva măsuri pentru a identifica utilizatorii care provin din China.
Identificarea locației utilizatorului
În primul rând, va trebui să găsim de unde facem vizitatorul nostru și să facem acest lucru, vom utiliza acest API WIPMania care permite recuperarea localizării unui vizitator, inclusiv numele țării sale:
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', funcție (date) swal ('Sunteți de la', data.address.country););
Folosim jQuery $ .getJSON
pentru a apela API-ul. Apoi trecem data.address.country
care ar trebui să ne spună de unde este vizitatorul. Iată un demo.
Furnizarea de surse alternative de fonturi Web
Deci, acum că putem recupera locația vizitatorilor noștri, vom înlocui Google Fonts cu bibliotecile Useso, un serviciu CDN care reflectă fonturile și bibliotecile de la Google API, pentru a le oferi vizitatorilor din China.
În acest stadiu, încă avem stilurile noastre de fonturi care indică API-ul Google:
Vom înlocui href
în cadrul legătură
element cu funcție JavaScript.
funcția () ($ ($) ($) ($) $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ / ',' //fonts.useso.com/ '); $ (acest) .attr (' href ', $ replace););
Această funcție înlocuiește fiecare legătură la care se face referire //fonts.useso.com/
în locul indicării adresei Google API, //fonts.googleapis.com/
.
Funcția va rula numai atunci când vizitatorul este de la CN
, Codul țării internaționale al țării.
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', funcția (date) if (data.address.country_code == 'CN') replaceGoogleCDN (););
Suntem cu toții pregătiți. Acum, vizitatorii din China vor fi difuzate prin intermediul fonturilor //fonts.useso.com/
care nu este blocată de guvernul chinez.