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.country
bu 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.