ค้นหาเว็บไซต์

jQuery 4.0 ออกแล้วหลังจากหนึ่งทศวรรษพร้อมกับการเปลี่ยนแปลงด้านความทันสมัย


ทีมงาน jQuery ได้ปล่อยเวอร์ชัน 4.0 ออกมา ซึ่งมีการเปลี่ยนแปลงที่สำคัญ รองรับเบราว์เซอร์สมัยใหม่ และปรับปรุงทำความสะอาดตามที่วางแผนไว้มานาน

jQuery ซึ่งเป็นไลบรารี JavaScript ที่นักพัฒนาเว็บใช้งานกันอย่างแพร่หลายสำหรับการทำงานกับหน้าเว็บ ได้ปล่อยเวอร์ชัน 4.0 อย่างเป็นทางการแล้ว นับเป็นการอัปเดตครั้งใหญ่ครั้งแรกของโครงการในรอบเกือบหนึ่งทศวรรษ

หนึ่งในการเปลี่ยนแปลงที่สำคัญคือการยกเลิกการสนับสนุน Internet Explorer 10 และเวอร์ชันที่เก่ากว่า สำหรับ IE 11 ยังได้รับการสนับสนุนอยู่ในตอนนี้ แต่เพียงบางส่วนเท่านั้น เนื่องจากโครงการวางแผนที่จะเลิกใช้ทั้งหมดใน jQuery 5.0

นอกจากนี้ การสนับสนุนสำหรับ Edge Legacy, เวอร์ชันเก่าของ Firefox, ระบบปฏิบัติการ iOS เวอร์ชันแรก ๆ และเบราว์เซอร์ของ Android ได้ถูกยกเลิกแล้ว โปรเจกต์ที่ยังคงพึ่งพาสภาพแวดล้อมเหล่านี้จึงแนะนำให้คงอยู่กับ jQuery รุ่น 3.x

ในด้านความปลอดภัย jQuery 4.0 เพิ่มการสนับสนุน Trusted Types ทำให้ HTML ที่ถูกห่อในวัตถุ TrustedHTML สามารถส่งไปยังวิธีการปรับแต่ง jQuery ได้อย่างปลอดภัยภายใต้การตั้งค่า Content Security Policy ที่เข้มงวด นอกจากนี้ การโหลดสคริปต์แบบอะซิงโครนัสส่วนใหญ่ตอนนี้พึ่งพาองค์ประกอบ <script> ที่สร้างขึ้นแบบไดนามิกแทนการใช้สคริปต์ในบรรทัดโดยมีข้อยกเว้นจำกัด

ภายใน โค้ดต้นฉบับของ jQuery ได้ย้ายจากโมดูล AMD ไปเป็นโมดูล ES เรียบร้อยแล้ว โปรเจกต์นี้ใช้ Rollup สำหรับการแพ็กเกจ ทำให้โค้ดต้นฉบับสามารถใช้งานร่วมกับเครื่องมือสร้างและเวิร์กโฟลว์สมัยใหม่ได้โดยตรง และสามารถใช้งานผ่าน <script type="module"> ในเบราว์เซอร์ที่รองรับได้

ตามที่คาดไว้ มีการลบ API หลายตัวที่เลิกใช้งานมานานแล้ว ออกไป ซึ่งรวมถึงเมธอดยูทิลิตี้ เช่น jQuery.isArray, jQuery.parseJSON, jQuery.trim, jQuery.now และอินเทอร์เนลที่เกี่ยวข้องกับ CSS หลายรายการ ในทุกกรณี API ของเบราว์เซอร์แบบเนทีฟสามารถให้การทดแทนโดยตรงได้

การทำความสะอาดภายในเพิ่มเติมรวมถึงการลบ push, sort, และ splice ออกจากโปรโตไทป์ของ jQuery

jQuery 4.0 ยังเปลี่ยนลำดับของเหตุการณ์ที่เกี่ยวข้องกับโฟกัสให้ตรงกับข้อกำหนดของ W3C ปัจจุบัน ดังนั้น ไลบรารีจึงไม่ทำการแทนที่พฤติกรรมเนทีฟของเบราว์เซอร์อีกต่อไป ซึ่งหมายความว่าลำดับของเหตุการณ์ตอนนี้จะเป็นไปตามลำดับมาตรฐานที่เบราว์เซอร์สมัยใหม่ใช้

สุดท้าย ขนาดตัวเล็กได้ถูกลดลงอีกโดยการลบ Deferreds และ Callbacks ทำให้ขนาดเหลือประมาณ 19.5 KB เมื่อบีบอัดด้วย gzip การใช้ Native Promises สามารถแทนที่การใช้งาน Deferreds ส่วนใหญ่ในเบราว์เซอร์ที่รองรับ โปรเจกต์ที่ยังต้องการรองรับ IE 11 ควรใช้ตัวเต็มต่อไปหรือติดตั้ง Promise polyfill

สำหรับข้อมูลเพิ่มเติมและรายการรายละเอียดของการเปลี่ยนแปลงทั้งหมด โปรดดูประกาศ