Anasayfa » Kodlama » Google Fontları Çin'de Çalışmıyor - Nasıl düzeltilir

    Google Fontları Çin'de Çalışmıyor - Nasıl düzeltilir

    Google API’yı jQuery ve Web Fonts gibi kütüphanelere sunmak için kullanmamızın nedeni, Google’ın güvenilir altyapılarıyla hızlı bir şekilde hizmet vermesidir. Neredeyse her yerde kullanılır ve o kadar çok ki bazı kullanıcılar tarayıcılarında depolanan önbelleklere sahip olabilirler; Üstelik Daha hızlı.

    Ne yazık ki, Çin'de durum böyle değil. Çin hükümeti, 2014’te Google API’yı içeren Google’ın birçok hizmetine erişimi kapattı. kısmen bozuk görünmek Çin'de, Google’da barındırılan jQuery ve web fontlarına erişilemediğinden.

    Bu yazıda, Çin'in "dijital" Çin Seddi'ni nasıl atlayacağımızı göreceğiz, böylece web sitemiz Çin dışında göründüğü gibi çalışabilir. Google Yazı Tiplerini ve kitaplıklarını yansıtan alternatif bir yazı tipi kitaplığı kullanacağız, ancak önce Çin'den gelen kullanıcıları belirlemek için bazı önlemler almamız gerekecek.

    Kullanıcı Konumunu Belirleme

    Öncelikle, ziyaretçimizin nereli olduğunu bulmamız ve bunu yapmanız için ülke adının da dahil olduğu bir ziyaretçinin coğrafi konumunun alınmasını sağlayan bu WIPMania API'sini kullanacağız:

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', function (data) swal ('Siz ...', data.address.country);); 

    JQuery kullanıyoruz $ .GetJSON API’yi aramak için Sonra geçiyoruz data.address.countrybu bize ziyaretçinin nereli olduğunu söylemeli. İşte bir demo.

    Alternatif Web Yazı Tipi Kaynağı Sağlama

    Artık ziyaretçi konumumuzu alabileceğimize göre, Google Fonts’u, Çin API’sinden Fonts ve Libraries’i yansıtan bir CDN hizmeti olan Useso kütüphaneleriyle değiştireceğiz..

    Bu aşamada, hala Google API’yı gösteren font stillerimiz var:

      

    Değiştireceğiz href içinde bağlantı JavaScript işlevli öğe.

     işlev değiştirmeGoogleCDN () $ ('link'). her (function () var $ intial = $ (bu) .attr ('href'), $ replace = $ intial.replace ('// fonts.googleapis.com / ',' //fonts.useso.com/ '); $ (this) .attr (' href ', $ replace););  

    Bu işlev, başvurmak üzere her bağlantıyı değiştirir. //fonts.useso.com/ Google API adresine işaret etmek yerine, //fonts.googleapis.com/.

    İşlev yalnızca ziyaretçi geldiğinde çalışır CN, Çin'in uluslararası ülke kodu.

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', function (data) if (eğer (data.address.country_code == 'CN') replaceGoogleCDN ();); 

    Biz tamamıyla hazırız. Şimdi Çin'den gelen ziyaretçilere yazı tipleri aracılığıyla hizmet verilecek //fonts.useso.com/ Çin hükümeti tarafından engellenmeyen.