ไฮไลต์ใน Chrome 124 มีดังนี้
- มี API ใหม่ 2 รายการที่อนุญาตให้ใช้ เงา DOM ที่ประกาศจาก JavaScript
- คุณใช้สตรีมใน Web Sockets ได้
- ดูการเปลี่ยนภาพจะทำงานได้ดียิ่งขึ้นเล็กน้อย
- นอกจากนี้ยังมีอีกมากมาย
หากต้องการดูรายละเอียดทั้งหมด อ่านบันทึกประจำรุ่นของ Chrome 124
ใช้ Shadow DOM แบบประกาศใน JavaScript
มี API ใหม่ 2 รายการที่อนุญาตให้ใช้ Shadow DOM แบบประกาศจาก JavaScript
setHTMLUnsafe()
คล้ายกับ innerHTML
และให้คุณตั้งค่า HTML ภายในขององค์ประกอบเป็นสตริงที่ระบุ วิธีนี้เป็นประโยชน์เมื่อคุณมี HTML บางส่วนที่มี Shadow DOM แบบประกาศ เช่น
<my-custom-element>
<template shadowrootmode="open">
<style>
:host {
display: block;
color: yellow;
}
</style>
Hello, <slot></slot>
</template>
</my-custom-element>
หากคุณใช้เพียง innerHTML
เบราว์เซอร์จะไม่แยกวิเคราะห์อย่างถูกต้องและจะไม่มี Shadow DOM แต่หากใช้ setHTMLUnsafe()
ระบบจะสร้าง Shadow DOM และแยกวิเคราะห์องค์ประกอบตามที่คาดไว้
const section = document.createElement("section");
section.setHTMLUnsafe(`<my-custom-element>...</my-custom-element>`);
API อีกรายการคือ parseHTMLUnsafe()
และทํางานคล้ายกับ DOMParser.parseFromString()
API ทั้ง 2 รายการนี้ไม่ปลอดภัย ซึ่งหมายความว่าไม่มีการทำให้อินพุตปลอดภัย คุณจึงควรตรวจสอบว่าอาหารที่คุณให้สัตว์เลี้ยงปลอดภัย ในรุ่นที่กำลังจะเปิดตัว เราคาดว่าจะเห็นเวอร์ชันที่มีการปรับปรุงอินพุต
สุดท้ายนี้ Firefox และ Safari เวอร์ชันล่าสุดรองรับทั้ง 2 API นี้แล้ว
WebSocket Stream API
WebSockets เป็นวิธีที่ยอดเยี่ยมในการส่งข้อมูลไปมาระหว่างเบราว์เซอร์ของผู้ใช้กับเซิร์ฟเวอร์โดยไม่ต้องใช้การโหวต วิธีนี้เหมาะอย่างยิ่งสำหรับสิ่งต่างๆ อย่างเช่นแอปแชท ที่ที่คุณต้องการจัดการข้อมูลทันทีที่มาถึง
แต่จะเกิดอะไรขึ้นหากข้อมูลเข้ามาเร็วกว่าที่คุณสามารถจัดการได้
อาการนี้เรียกว่าแรงดันย้อนกลับ และอาจทำให้เกิดอาการปวดหัวอย่างรุนแรง ขออภัย WebSocket API ไม่มีวิธีที่ดีในการจัดการกับแรงกดดันกลับ
WebSocket Stream API ช่วยให้คุณใช้ประโยชน์จากสตรีมและเว็บโซケットได้ ซึ่งหมายความว่าคุณจะใช้แบ็กเพรสเชอร์ได้โดยไม่มีค่าใช้จ่ายเพิ่มเติม
เริ่มต้นด้วยการสร้าง WebSocketStream
ใหม่และส่ง URL ของเซิร์ฟเวอร์ WebSocket
const wss = new WebSocketStream(WSS_URL);
const {readable, writable} = await wss.opened;
const reader = readable.getReader();
const writer = writable.getWriter();
while (true) {
const {value, done} = await reader.read();
if (done) {
break;
}
const result = await process(value);
await writer.write(result);
}
จากนั้นรอให้การเชื่อมต่อเปิดขึ้น ซึ่งจะแสดงเป็น ReadableStream
และ WritableStream
การเรียกใช้เมธอด ReadableStream.getReader()
จะทำให้คุณได้รับ ReadableStreamDefaultReader
ซึ่งคุณสามารถ read()
ข้อมูลได้จนกว่าสตรีมจะเสร็จสมบูรณ์
หากต้องการเขียนข้อมูล ให้เรียกใช้เมธอด WritableStream.getWriter()
ซึ่งจะให้ WritableStreamDefaultWriter
แก่คุณ จากนั้นคุณสามารถ write()
ข้อมูลไปยัง WritableStreamDefaultWriter
ได้
ดูการปรับปรุงการเปลี่ยน
เราตื่นเต้นกับฟีเจอร์การเปลี่ยนมุมมอง และ Chrome 124 ยังมีฟีเจอร์ใหม่ 2 รายการที่ออกแบบมาเพื่อช่วยให้การเปลี่ยนมุมมองง่ายขึ้น
เหตุการณ์ pageswap
จะเริ่มทำงานในออบเจ็กต์หน้าต่างของเอกสารเมื่อการนำทางจะแทนที่เอกสารด้วยเอกสารใหม่
document.addEventListener("pageswap", event => {
if (!event.viewTransition) {
return;
}
});
และการบล็อกการแสดงผลเอกสารที่ช่วยให้คุณบล็อกการแสดงผลเอกสารได้จนกว่าจะแยกวิเคราะห์เนื้อหาที่สําคัญแล้ว เพื่อให้การแสดงผลครั้งแรกสอดคล้องกันในเบราว์เซอร์ทุกประเภท
และอีกมากมาย
แถมยังมีอีกมากมาย
disallowReturnToOpener
บอกกับเบราว์เซอร์ว่าไม่ควรแสดงปุ่มในหน้าต่างการแสดงภาพซ้อนภาพที่ผู้ใช้กลับไปยังแท็บเครื่องมือเปิดได้คอนเทนเนอร์การเลื่อนที่โฟกัสได้ด้วยแป้นพิมพ์ช่วยเพิ่มความพร้อมใช้งานโดยทำให้คอนเทนเนอร์การเลื่อนโฟกัสได้โดยใช้การไปยังส่วนต่างๆ ตามลำดับ
และการติดตั้งแบบสากลช่วยให้ผู้ใช้ติดตั้งหน้าเว็บใดก็ได้ แม้ว่าหน้าเว็บเหล่านั้นจะไม่เป็นไปตามเกณฑ์ PWA ปัจจุบันก็ตาม
อ่านเพิ่มเติม
เราพูดถึงไฮไลต์สำคัญเพียงบางส่วนเท่านั้น ตรวจสอบลิงก์ต่อไปนี้เพื่อดูการเปลี่ยนแปลง เพิ่มเติมใน Chrome 124
- บันทึกประจำรุ่นของ Chrome 124
- มีอะไรใหม่ในเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome (124)
- การอัปเดต ChromeStatus.com สำหรับ Chrome 124
- รายการการเปลี่ยนแปลงที่เก็บข้อมูลซอร์สโค้ด Chromium
- ปฏิทินการเผยแพร่ของ Chrome
สมัครใช้บริการ
หากต้องการติดตามข่าวสารล่าสุด โปรดติดตามช่อง YouTube ของนักพัฒนาซอฟต์แวร์ Chrome แล้วคุณจะได้รับอีเมลแจ้งเตือนทุกครั้งที่เราเปิดตัววิดีโอใหม่
ผมชื่อ Pete LePage และเราจะคอยแจ้งให้คุณทราบเกี่ยวกับฟีเจอร์ใหม่ๆ ใน Chrome ทันทีที่ Chrome 125 เปิดตัว