โฮมเพจ » การเข้ารหัส » Google แบบอักษรไม่ทำงานในประเทศจีน - วิธีแก้ไข

    Google แบบอักษรไม่ทำงานในประเทศจีน - วิธีแก้ไข

    เหตุผลที่เราใช้ Google API เพื่อให้บริการห้องสมุดเช่น jQuery และ Web Fonts ก็คือมันให้บริการที่รวดเร็วผ่านโครงสร้างพื้นฐานที่เชื่อถือได้ของ Google มันถูกใช้เกือบทุกที่และมากจนผู้ใช้บางคนอาจมีแคชเก็บไว้ในเบราว์เซอร์ของพวกเขาซึ่งทำให้ห้องสมุดโหลด แม้ ได้เร็วขึ้น.

    น่าเสียดายที่ไม่ใช่ในประเทศจีน รัฐบาลจีนได้ปิดการเข้าถึงบริการต่างๆของ Google รวมถึง Google API ในปี 2014 โอกาสที่เว็บไซต์ของคุณอาจ ดูเหมือนจะหักบางส่วน ในประเทศจีนเนื่องจากไม่สามารถเข้าถึงแบบอักษร jQuery และแบบอักษรบนเว็บใน Google ได้.

    ในบทความนี้เราจะดูวิธีการข้ามกำแพง "ดิจิตอล" ของจีนเพื่อให้เว็บไซต์ของเราสามารถทำงานได้เหมือนกับที่ดูจากภายนอกประเทศจีน เราจะใช้ไลบรารีฟอนต์ทางเลือกที่สะท้อน Google Fonts และไลบรารี่ แต่ก่อนอื่นเราจะต้องใช้มาตรการบางอย่างเพื่อระบุผู้ใช้ที่มาจากประเทศจีน.

    การระบุตำแหน่งของผู้ใช้

    ในการเริ่มต้นเราจะต้องค้นหาว่าผู้เข้าชมของเรามาจากที่ไหนและทำเช่นนั้นเราจะใช้ WIPMania API นี้เพื่อให้สามารถดึงข้อมูลตำแหน่งทางภูมิศาสตร์ของผู้เข้าชมรวมถึงชื่อประเทศของพวกเขา:

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', ฟังก์ชั่น (ข้อมูล) swal ('คุณมาจาก', data.address.country);); 

    เราใช้ jQuery $ .getJSON เพื่อเรียก API เราผ่านแล้ว data.address.countryซึ่งควรบอกเราว่าผู้เข้าชมมาจากที่ใด นี่คือตัวอย่าง.

    ให้ที่มาแบบอักษรทางเลือกของเว็บ

    ดังนั้นตอนนี้เราสามารถดึงข้อมูลตำแหน่งผู้เยี่ยมชมของเราได้แล้วเราจะแทนที่ Google Fonts ด้วยไลบรารี Useso ซึ่งเป็นบริการ CDN ที่ทำหน้าที่เป็นแบบอักษรและไลบรารีจาก Google API เพื่อให้บริการผู้เข้าชมจากประเทศจีน.

    ในขั้นตอนนี้เรายังคงมีรูปแบบตัวอักษรที่ชี้ไปยัง Google API:

      

    เราจะเข้ามาแทนที่ href ภายใน ลิงค์ องค์ประกอบที่มีฟังก์ชั่น JavaScript.

     ฟังก์ชั่น replaceGoogleCDN () $ ('ลิงก์'). แต่ละอัน (ฟังก์ชั่น () var $ intial = $ (นี่) .attr ('href'), $ replace = $ intial.replace ('// fonts.googleapis.com / ',' //fonts.useso.com/ '); $ (นี่) .attr (' href ', $ replace););  

    ฟังก์ชั่นนี้จะแทนที่แต่ละลิงค์เพื่ออ้างอิง //fonts.useso.com/ แทนที่ชี้ไปยังที่อยู่ Google API, //fonts.googleapis.com/.

    ฟังก์ชั่นจะทำงานเฉพาะเมื่อผู้เยี่ยมชมมาจาก CN, รหัสประเทศของจีน.

     $ .getJSON ('http://api.wipmania.com/jsonp?callback=?', ฟังก์ชัน (ข้อมูล) ถ้า (data.address.country_code == 'CN') replaceGoogleCDN ();); 

    พวกเราทุกคนพร้อมแล้ว ตอนนี้ผู้เข้าชมจากประเทศจีนจะได้รับแบบอักษรผ่านทาง //fonts.useso.com/ ซึ่งไม่ได้ถูกบล็อกโดยรัฐบาลจีน.