การเลิกใช้งานและการนำ API ออกใน Chrome 52

Joe Medley
Joe Medley

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

เลิกใช้งานเหตุการณ์และแอตทริบิวต์ MediaStream ended และแอตทริบิวต์ onended

สรุป: เหตุการณ์และแอตทริบิวต์ ended รวมถึงตัวแฮนเดิลเหตุการณ์ onended อยู่ระหว่างการเลิกใช้งานเนื่องจากถูกนำออกจากข้อกำหนดเฉพาะเกี่ยวกับการจับภาพและสตรีมสื่อ

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium

เหตุการณ์ ended และตัวแฮนเดิลเหตุการณ์ onended ไม่ได้อยู่ในข้อกำหนดของ WebRTC เป็นเวลาประมาณ 3 ปี นักพัฒนาแอปที่ต้องการดูเหตุการณ์ควรใช้ MediaStreamTracks แทน MediaStreams

คาดว่าจะนําออกใน Chrome 53

บล็อกป๊อปอัปจาก iframe แบบข้ามต้นทางระหว่างเหตุการณ์การสัมผัส ยกเว้นระหว่างการใช้ท่าทางสัมผัสด้วยการแตะ

สรุป: Chrome จะเริ่มไม่อนุญาตให้แสดงป๊อปอัปและการดำเนินการอื่นๆ ที่มีความละเอียดอ่อนในเหตุการณ์การสัมผัสที่ไม่เกี่ยวข้องกับการแตะจากภายใน iframe ข้ามแหล่งที่มา

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium

เหตุการณ์การสัมผัสอาจมีความคลุมเครือเมื่อเปรียบเทียบกับเหตุการณ์เมาส์ที่เกี่ยวข้อง เช่น หากผู้ใช้เลื่อนนิ้วไปบนหน้าจอ ผู้ใช้ดังกล่าวกําลังเลื่อนสวิตช์เปิด/ปิดหรือเลื่อนมุมมองอยู่ เนื้อหาของบุคคลที่สามบางรายการใน iframe ใช้ประโยชน์จากความคลุมเครือนี้เพื่อจงใจปิดใช้การเลื่อนในหน้าเว็บที่รวมอยู่

เพื่อต่อสู้กับปัญหานี้ ระบบจะไม่อนุญาตให้แสดงป๊อปอัปและการดำเนินการอื่นๆ ที่มีความละเอียดอ่อนในเหตุการณ์การสัมผัสจาก iframe แบบข้ามต้นทาง เหตุการณ์ touchend จะยังคงทำงานเหมือนเดิม

เลิกใช้งานการโอเวอร์โหลดของ postMessage()

สรุป: เราจะเลิกใช้งานอินเทอร์เฟซ postMessage() รูปแบบต่างๆ ที่ไม่จำเป็นและไม่ค่อยได้ใช้ โดยเฉพาะ postMessage(message, transferables, targetOrigin)

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium

เมธอด postMessage() เป็นวิธีสื่อสารระหว่างสคริปต์ของหน้าเว็บจากแหล่งที่มาต่างๆ อย่างปลอดภัย WebKit/Blink รองรับ 3 เวอร์ชัน ได้แก่

  • postMessage(message, targetOrigin)
  • postMessage(message, targetOrigin, transferables)
  • postMessage(message, transferables, targetOrigin)

รายการสุดท้ายในรายการนี้เกิดขึ้นโดยไม่ตั้งใจจากประวัติการพัฒนาและการใช้งานข้อกำหนด เนื่องจากไม่ค่อยมีการใช้งาน เราจึงจะเลิกใช้งานและนําออกในภายหลัง โดยจะมีผลกับทั้ง window.postMessage() และ worker.postMessage()

คาดว่าจะนำออกใน Chrome 54

ยกเลิกการรองรับ X-Frame-Options ใน แท็ก

สรุป: เราจะนําการรองรับ X-Frame-Options ภายในแท็ก <meta> ออกเพื่อปฏิบัติตามข้อกําหนดและเพิ่มความสอดคล้องกับเบราว์เซอร์อื่นๆ

Intent to Remove | ข้อบกพร่องของ Chromium

ส่วนหัวการตอบกลับ HTTP ของ X-Frame-Options จะระบุว่าเบราว์เซอร์แสดงผลหน้าเว็บในแท็ก <frame>, <iframe> หรือ <object> ได้หรือไม่ ซึ่งช่วยให้เว็บไซต์หลีกเลี่ยง Clickjacking ได้ เนื่องจากหน้าเว็บดังกล่าวจะฝังในเว็บไซต์อื่นไม่ได้ ข้อกำหนด X-Frame-Options เวอร์ชันปัจจุบันจำกัด User Agent ไม่ให้รองรับช่องนี้ในแท็ก <meta> อย่างชัดเจน

เราจะนําการรองรับ X-Frame-Options ในแท็ก <meta> ออกเพื่อปฏิบัติตามข้อกําหนดและเพิ่มความสอดคล้องกับเบราว์เซอร์อื่นๆ

นําเหตุการณ์การคลิกปุ่มที่ไม่ใช่ปุ่มหลักออก

สรุป: การคลิกเมาส์ที่ไม่ใช่เมาส์หลักจะไม่ทริกเกอร์เหตุการณ์การคลิกอีกต่อไป แต่ MouseEvent.button จะยังคงใช้งานได้

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium

เราจะนําเหตุการณ์คลิกสําหรับปุ่มเมาส์ที่ไม่ใช่ปุ่มหลักออกเพื่อให้ Chrome สอดคล้องกับข้อกําหนดของ UIEvents ปุ่มเมาส์ที่ไม่ใช่ปุ่มหลักจะแตกต่างกันไปตามอุปกรณ์ โดยทั่วไปแล้วหมายถึงปุ่มอื่นที่ไม่ใช่ปุ่มซ้ายหรือขวาของเมาส์ โปรดทราบว่าระบบอาจยังคงดึงข้อมูลปุ่มที่คลิกได้อย่างแม่นยำโดยใช้พร็อพเพอร์ตี้ MouseEvent.button ที่ส่งไปยังเหตุการณ์ เช่น mousedown หรือ mouseup

นำ requestAutocomplete() ออก

ฟังก์ชัน requestAutocomplete() อนุญาตให้กรอกแบบฟอร์มตามคําขอโดยความสามารถป้อนข้อความอัตโนมัติของเบราว์เซอร์ แต่หลังจากผ่านไปกว่า 2 ปี ความสามารถนี้ยังรองรับเฉพาะใน Blink และการใช้งานมีน้อย ด้วยเหตุนี้ เราจึงนำ requestAutocomplete() ออกใน Chrome 52

Intent to Remove