Koduleht » Kodeerimine » Google Fonte ei tööta Hiinas - kuidas seda parandada

    Google Fonte ei tööta Hiinas - kuidas seda parandada

    Põhjus, miks me kasutame Google API-d raamatukogude, näiteks jQuery ja veebifontide teenimiseks, on see, et see teenib kiiresti Google'i usaldusväärsete infrastruktuuride kaudu. Seda kasutatakse peaaegu kõikjal ja nii palju, et mõned kasutajad võivad juba salvestada oma brauserisse salvestatud vahemälu, mis muudab raamatukogude koormuse isegi kiiremini.

    Kahjuks ei ole see nii Hiinas. Hiina valitsus sulges 2014. aastal juurdepääsu paljudele Google'i teenustele, sealhulgas Google API-le. Võimalik, et teie veebileht võib olla tundub osaliselt katki Hiinas, sest Google'is asuvad jQuery ja veebifontid on kättesaamatud.

    Selles postituses näeme, kuidas mööda hiilida Hiina "digitaalsest" suurest seintest, nii et meie veebisait võib töötada nii, nagu seda vaadatakse väljaspool Hiinat. Me kasutame alternatiivset fondiraamatukogu, mis peegeldab Google Fonte ja raamatukogusid, kuid kõigepealt peame me rakendama mõningaid meetmeid, et tuvastada Hiinast pärit räägivad kasutajad.

    Kasutaja asukoha tuvastamine

    Kõigepealt peame leidma, kust meie külastaja on, ja kasutame seda, me kasutame seda WIPMania API-d, mis võimaldab külastajate geograafilise asukoha leidmist, sealhulgas nende riigi nime:

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', funktsioon (andmed) swal ('Sa oled pärit', data.address.country);); 

    Me kasutame jQueryt $ .getJSON helistada API-le. Siis möödume data.address.countrymis peaks meile ütlema, kust külastaja on. Siin on demo.

    Alternatiivse veebifondi allika pakkumine

    Nüüd, kui me saame oma külastajate asukoha alla laadida, asendame Google'i fonte ja Google'i API-de fonte ja raamatukogusid peegeldavat CD-teenust Google'i fondidega, et teenida Hiinast külastajaid.

    Praeguses etapis on meil veel fontide stiilid, mis osutavad Google'i API-le:

      

    Asendame href sees link funktsiooni JavaScript.

     funktsioon asendageGoogleCDN () $ ('link'). iga (funktsioon () var $ intial = $ (see) .attr ('href'), $ aizstake = $ intial.replace ('// fonts.googleapis.com / ',' //fonts.useso.com/ '); $ (see) .attr (' href ', $ asendatakse););  

    See funktsioon asendab iga linki, millele viidata //fonts.useso.com/ Google API API-aadressile osutamise asemel, //fonts.googleapis.com/.

    Funktsioon töötab ainult siis, kui külastaja on CN, Hiina rahvusvaheline riigikood.

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', funktsioon (andmed) if (data.address.country_code == 'CN') substitGoogleCDN ();); 

    Me kõik oleme seatud. Nüüd külastatakse Hiinast fonte läbi //fonts.useso.com/ mida Hiina valitsus ei blokeeri.