Google फ़ॉन्ट्स चीन में काम नहीं कर रहे हैं - इसे कैसे ठीक करें
जिस कारण से हम Google API का उपयोग पुस्तकालयों जैसे jQuery और वेब फ़ॉन्ट्स की सेवा के लिए कर रहे हैं, वह यह है कि यह Google के विश्वसनीय इन्फ्रास्ट्रक्चर के माध्यम से तेजी से कार्य करता है। यह लगभग हर जगह उपयोग किया जाता है, और इतना ही कि कुछ उपयोगकर्ताओं के पास पहले से ही अपने ब्राउज़र में संग्रहीत कैश हो सकता है, जो पुस्तकालयों को लोड करता है यहाँ तक की और तेज.
दुर्भाग्य से, चीन में ऐसा नहीं है। चीन सरकार ने 2014 में Google API सहित Google की कई सेवाओं तक पहुंच को बंद कर दिया। संभावना है कि आपकी वेबसाइट हो सकती है आंशिक रूप से टूट गया चीन में क्योंकि Google में होस्ट किए गए jQuery और वेब फोंट दुर्गम हैं.
इस पोस्ट में, हम यह देखने जा रहे हैं कि चीन की "डिजिटल" ग्रेट वॉल को कैसे बाईपास किया जाए, इसलिए हमारी वेबसाइट यह चला सकती है कि इसे चीन के बाहर कैसे देखा जाता है। हम एक वैकल्पिक फॉन्ट लाइब्रेरी का उपयोग करेंगे, जो Google फ़ॉन्ट्स और लाइब्रेरीज़ को मिरर करती है, लेकिन पहले हमें चीन से आने वाले उपयोगकर्ताओं की पहचान करने के लिए कुछ उपाय करने होंगे।.
उपयोगकर्ता स्थान की पहचान करना
शुरू करने के लिए, हमें यह पता लगाना होगा कि हमारा आगंतुक कहाँ से है और ऐसा करने के लिए, हम इस WIPMania API का उपयोग करेंगे, जो एक आगंतुक के जियोलोकेशन की पुनर्प्राप्ति की अनुमति देता है, जिसमें उनके देश का नाम भी शामिल है:
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', function (data) swal ('You are from', data.address.country););
हम jQuery का उपयोग करते हैं $ .getJSON
एपीआई कॉल करने के लिए। हम तो पास data.address.country
जो हमें बताना चाहिए कि आगंतुक कहाँ से है। यहाँ एक डेमो है.
वैकल्पिक वेब फ़ॉन्ट स्रोत प्रदान करना
इसलिए अब हम अपने विज़िटर के स्थान को पुनः प्राप्त कर सकते हैं, हम चीन से आगंतुकों की सेवा के लिए Google फ़ॉन्ट्स का उपयोग करने के लिए उपयोग कर रहे हैं।.
इस स्तर पर, हमारे पास अभी भी Google API की ओर इंगित करने वाली हमारी फ़ॉन्ट शैलियाँ हैं:
हम बदल देंगे href
के अंदर संपर्क
एक जावास्क्रिप्ट फ़ंक्शन के साथ तत्व.
फ़ंक्शन बदलेंGoGoCDCDN () $ ('लिंक')। प्रत्येक (फ़ंक्शन () var $ intial = (यह) .attr ('href'), $ को प्रतिस्थापित करें = $ intial.replace ('// fonts.goelleapis.com) / ',' //fonts.useo.com/ '); $ (यह) .attr (' href ', $ प्रतिस्थापित););
यह फ़ंक्शन संदर्भित करने के लिए प्रत्येक लिंक को बदलता है //fonts.useso.com/
Google API पते की ओर संकेत करने के स्थान पर, //fonts.googleapis.com/
.
विजिटर से होने पर ही फंक्शन चलेगा सीएन
, चीन का अंतर्राष्ट्रीय देश कोड.
$ .getJSON ('http://api.wipmania.com/jsonp?callback=?', function (data) if (data.address.country_code == 'CN') replaceGoogleCDN (););
हम तैयार हैं। अब, चीन से आने वाले आगंतुकों को फॉन्ट सेवा दी जाएगी //fonts.useso.com/
जो चीनी सरकार द्वारा अवरुद्ध नहीं है.