A Google Betűtípusok nem működnek Kínában - Hogyan lehet javítani
Az ok, amiért a Google API-t használjuk a könyvtárak, például a jQuery és a Web Fonts kiszolgálására, az, hogy gyors szolgáltatást nyújt a Google megbízható infrastruktúráiban. Szinte mindenütt használják, és annyira, hogy néhány felhasználó már rendelkezik a böngészőjükben tárolt gyorsítótárral, ami a könyvtárak betöltését teszi lehetővé. még gyorsabb.
Sajnos ez nem így van Kínában. A kínai kormány 2014-ben bezárta a Google számos szolgáltatását, beleértve a Google API-t is részlegesen törött Kínában, mert a Google-ban tárolt jQuery és webes betűtípusok elérhetetlenek.
Ebben a bejegyzésben meg fogjuk nézni, hogyan tudjuk megkerülni Kína "digitális" nagy falát, így honlapunk úgy futhat, mint ahogyan azt Kínán kívül nézzük. Egy alternatív betűtípus-könyvtárat fogunk használni, amely tükrözi a Google Betűtípusokat és könyvtárakat, de először néhány intézkedést kell tennünk azon felhasználók azonosítására, akik Kínából jönnek..
Felhasználói hely azonosítása
Először is meg kell találnunk, hogy hol van a látogatónk, és ezt megtehetjük, ezt a WIPMania API-t fogjuk használni, amely lehetővé teszi a látogató földrajzi elhelyezkedésének letöltését, beleértve az országnevet is:
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', függvény (adat) swal ('Ön a következőtől: data.address.country););
JQuery-t használunk $ .getJSON
hívja az API-t. Ezután elmegyünk data.address.country
amely megmondja nekünk, hogy honnan származik a látogató. Itt egy demó.
Alternatív web betűtípusforrás biztosítása
Tehát most, hogy visszanyerhetjük látogatóink helyét, a Google Fontset az Useso könyvtárakkal helyettesítjük, amely egy CDN szolgáltatás, amely tükrözi a Google API betűtípusait és könyvtárait..
Ebben a szakaszban még mindig vannak betűtípusaink, amelyek a Google API-ra mutatnak:
A helyettesítjük a href
belül link
JavaScript funkcióval rendelkező elem.
függvény helyettesítéseGoogleCDN () $ ('link'). mindegyik (funkció () var $ intial = $ (ez) .attr ('href'), $ helyettesítő = $ intial.replace ('// fonts.googleapis.com / ',' //fonts.useso.com/ '); $ (ez) .attr (' href ', $ helyettesít););
Ez a funkció minden hivatkozás helyére lép //fonts.useso.com/
helyett a Google API címére mutat, //fonts.googleapis.com/
.
A funkció csak akkor indul el, ha a látogató innen érkezik CN
, Kína nemzetközi országkódja.
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', függvény (adat) if (data.address.country_code == 'CN') substitGoogleCDN (););
Mindannyian be vannak állítva. Most a Kínából érkező látogatók a következő betűkészleteket kapják: //fonts.useso.com/
amelyet a kínai kormány nem blokkol.