การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ Chrome เบต้าล่าสุดสำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ที่แสดงที่นี่ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com โดย Chrome 124 อยู่ในเวอร์ชันเบต้า ณ วันที่ 20 มีนาคม 2024 คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อปหรือใน Google Play Store บน Android
CSS
รุ่นนี้เพิ่มฟีเจอร์ CSS ใหม่ 2 รายการ
CSSImportRule.styleSheet
อนุญาตให้ CSSImportRule.styleSheet เป็นค่า Null ได้ แอตทริบิวต์ styleSheet ใน CSSImportRule อาจเป็นค่าว่างได้หากไม่มีสไตล์ชีต CSS ที่เชื่อมโยง
CSSKeyframesRule.length
แสดงแอตทริบิวต์ length ของ CSSKeyframesRule อินเทอร์เฟซที่รองรับพร็อพเพอร์ตี้ที่จัดทำดัชนีต้องกำหนดแอตทริบิวต์ประเภทจำนวนเต็มชื่อ length
HTML
รุ่นนี้เพิ่มฟีเจอร์ HTML ใหม่ 2 รายการ
แอตทริบิวต์ writingsuggestions
เบราว์เซอร์เริ่มให้คำแนะนำในการเขียนแก่ผู้ใช้ขณะพิมพ์ในช่องที่แก้ไขได้ต่างๆ บนเว็บ แม้ว่าโดยทั่วไปแล้วฟีเจอร์นี้จะเป็นประโยชน์ต่อผู้ใช้ แต่ก็มีบางกรณีที่นักพัฒนาแอปอาจต้องการปิดความช่วยเหลือในการเขียนที่เบราว์เซอร์มีให้ เช่น ส่วนขยายหรือเว็บไซต์ที่มีฟังก์ชันการทำงานคล้ายกันของตนเอง
แอตทริบิวต์ writingsuggestions ใหม่มีค่าเป็น true หรือ false ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์เปิดหรือปิดคำแนะนำการเขียนที่เบราว์เซอร์มีให้ได้ สถานะของแอตทริบิวต์สำหรับองค์ประกอบหนึ่งๆ ยังรับค่ามาจากองค์ประกอบระดับบนได้ด้วย ซึ่งช่วยให้นักพัฒนาแอปควบคุมฟังก์ชันการทำงานนี้ได้ในระดับองค์ประกอบ เอกสาร หรือเอกสารย่อย
คอนเทนเนอร์แบบเลื่อนที่โฟกัสได้ด้วยแป้นพิมพ์
ปรับปรุงการช่วยเหลือพิเศษโดยทำให้คอนเทนเนอร์การเลื่อนโฟกัสได้โดยใช้การไปยังส่วนต่างๆ ของโฟกัสตามลำดับ ก่อนที่จะมีการเปลี่ยนแปลงนี้ แป้น Tab จะไม่โฟกัสตัวเลื่อน เว้นแต่จะตั้งค่า tabIndex เป็น 0 ขึ้นไปอย่างชัดเจน
การกำหนดให้โฟกัสตัวเลื่อนได้โดยค่าเริ่มต้นจะช่วยให้ผู้ใช้ที่ไม่สามารถ (หรือไม่ต้องการ) ใช้เมาส์สามารถโฟกัสเนื้อหาที่ถูกตัดได้โดยใช้แป้น Tab และแป้นลูกศรบนแป้นพิมพ์ ลักษณะการทำงานนี้จะเปิดใช้ก็ต่อเมื่อตัวเลื่อนไม่มีองค์ประกอบย่อยที่โฟกัสได้ด้วยแป้นพิมพ์
เราจะทยอยเปิดตัวฟีเจอร์นี้ตั้งแต่ Chrome 124 เป็นต้นไป และจะพร้อมให้บริการแก่ผู้ใช้ทุกคนใน Chrome 125 ดูข้อมูลเพิ่มเติมเกี่ยวกับแถบเลื่อนที่โฟกัสได้ด้วยแป้นพิมพ์
Web API
ส่วนเพิ่มเติมใน Attribution Reporting API
มีการเพิ่มฟีเจอร์ลงใน Attribution Reporting API เพื่อสร้างความสามารถในการแก้ไขข้อบกพร่องเพิ่มเติมโดยรองรับรายงานการแก้ไขข้อบกพร่องของความล้มเหลวในการแยกวิเคราะห์ ปรับปรุงหลักสรีรศาสตร์ของ API โดยรองรับช่องเพื่อระบุแพลตฟอร์มการลงทะเบียนที่ต้องการ และปรับปรุงความเป็นส่วนตัว
การแสดงภาพซ้อนภาพในเอกสาร: เพิ่มตัวเลือกเพื่อซ่อนปุ่มกลับไปที่แท็บ
ซึ่งจะเพิ่มพารามิเตอร์ใหม่ (disallowReturnToOpener) ลงใน API การแสดงภาพซ้อนภาพของเอกสาร ซึ่งเมื่อตั้งค่าเป็น "จริง" จะบอกใบ้เบราว์เซอร์ว่าไม่ควรแสดงปุ่มในหน้าต่างการแสดงภาพซ้อนภาพที่อนุญาตให้ผู้ใช้กลับไปยังแท็บที่เปิดอยู่
แม้ว่าการมีปุ่มเพื่อกลับไปยังแท็บที่เปิดอยู่จะเหมาะสมเสมอในกรณีของการแสดงภาพซ้อนภาพของวิดีโอ (สตรีมวิดีโอสามารถกลับไปยังองค์ประกอบวิดีโอในแท็บที่เปิดอยู่ได้) แต่ก็ไม่ได้เป็นเช่นนั้นเสมอไปสำหรับประสบการณ์การแสดงเอกสารแบบภาพซ้อนภาพ ซึ่งจะช่วยให้นักพัฒนาแอปควบคุมประสบการณ์ของผู้ใช้ได้มากขึ้นเมื่อพิจารณาแล้วว่าปุ่มดังกล่าวไม่เหมาะกับ Use Case ของตน
ดูข้อมูลเพิ่มเติมในเอกสารประกอบสำหรับการแสดงภาพซ้อนภาพของเอกสาร
การบล็อกการแสดงผลเอกสาร
ฟีเจอร์นี้ช่วยให้ผู้เขียนบล็อกการแสดงผลเอกสารได้จนกว่าจะมีการแยกวิเคราะห์เนื้อหาที่สำคัญ เพื่อให้มั่นใจว่าการแสดงผลครั้งแรกจะสอดคล้องกันในทุกเบราว์เซอร์ หากไม่มีฟีเจอร์นี้ สถานะของการแสดงผลครั้งแรกจะขึ้นอยู่กับฮิวริสติกสำหรับการสร้างผลลัพธ์ของโปรแกรมแยกวิเคราะห์ ซึ่งอาจแตกต่างกันไปในแต่ละเบราว์เซอร์
ซึ่งสำคัญอย่างยิ่งสำหรับ View Transitions ที่สถานะ DOM ที่แยกวิเคราะห์ในเฟรมแรกสามารถเปลี่ยนแปลงการเปลี่ยนที่สร้างขึ้นได้อย่างมาก
โปรดทราบว่าฟีเจอร์นี้ใช้ไวยากรณ์ <link rel=expect href="#id"> ที่อนุญาตให้เอลิเมนต์ของลิงก์อ้างอิงองค์ประกอบอื่นที่คาดไว้ในหน้าเว็บ จากนั้นระบบจะบล็อกการแสดงผลจนกว่าจะแยกวิเคราะห์องค์ประกอบที่คาดไว้เสร็จสมบูรณ์ ซึ่งจะมาแทนที่การใช้งานแอตทริบิวต์ HTML ก่อนหน้านี้ที่อนุญาตให้บล็อกการแสดงผลทั้งเอกสาร
แอตทริบิวต์ jitterBufferTarget รายการ
แอตทริบิวต์ jitterBufferTarget ช่วยให้แอปพลิเคชันระบุระยะเวลาเป้าหมายเป็นมิลลิวินาทีของสื่อสำหรับบัฟเฟอร์กระวนกระวาย RTCRtpReceiver ที่จะเก็บไว้ได้ ซึ่งจะส่งผลต่อปริมาณการบัฟเฟอร์ที่ดำเนินการโดย User Agent ซึ่งจะส่งผลต่อการส่งซ้ำและการกู้คืนแพ็กเก็ตที่สูญหาย การแก้ไขค่าเป้าหมายช่วยให้แอปพลิเคชันควบคุมความสมดุลระหว่างความล่าช้าในการเล่นและความเสี่ยงที่เฟรมเสียงหรือเฟรมวิดีโอจะหมดเนื่องจากความผันผวนของเครือข่าย
pageswap เหตุการณ์
เหตุการณ์ pageswap จะเริ่มทำงานในออบเจ็กต์หน้าต่างของเอกสารเมื่อการนำทางจะแทนที่เอกสารนี้ด้วยเอกสารใหม่ เหตุการณ์จะให้ข้อมูลการเปิดใช้งานเกี่ยวกับการนําทาง (type, NavigationHistoryEntry สําหรับเอกสารใหม่)
หากการนําทางมีการเปลี่ยนมุมมองข้ามเอกสาร ระบบจะส่งเหตุการณ์ก่อนบันทึกสถานะของเอกสารเก่า ซึ่งช่วยให้นักพัฒนาแอปกำหนดค่าสถานะเก่าที่บันทึกไว้สำหรับการเปลี่ยนผ่านได้โดยอิงตามข้อมูลการเปิดใช้งานของการนำทางและสถานะภาพปัจจุบันของเอกสารเก่า
ส่วนหัวของคำขอ HTTP priority
ซึ่งจะเพิ่มส่วนหัวของคำขอ priority สำหรับคำขอ HTTP ทั้งหมดที่มีข้อมูลลำดับความสำคัญของคำขอ ณ เวลาที่ส่ง
RFC 9218 (รูปแบบการจัดลำดับความสำคัญที่ขยายได้สำหรับ HTTP) กำหนดส่วนหัวของคำขอ HTTP priority เพื่อใช้ในการส่งสัญญาณลำดับความสำคัญของคำขอไปยังต้นทาง (และสื่อกลาง) นอกจากนี้ยังกำหนดกระบวนการเจรจาต่อรองและเฟรมระดับโปรโตคอลสำหรับ HTTP/2 และ HTTP/3 เพื่อส่งข้อมูลลำดับความสำคัญเดียวกัน
ส่วนหัวจะส่งสัญญาณลำดับความสำคัญเริ่มต้นสำหรับทรัพยากรได้ก็ต่อเมื่อมีการขอทรัพยากรเป็นครั้งแรกเท่านั้น ในขณะที่กลไกแบบเฟรมจะอนุญาตให้แก้ไขลำดับความสำคัญในภายหลังได้
ส่วนหัวสามารถทำงานแบบต้นทางถึงปลายทางไปยังเซิร์ฟเวอร์ต้นทาง (และมีกลไกสำหรับต้นทางในการลบล้างลำดับความสำคัญหากตัวกลางรู้จัก) ขณะที่เฟรมถูกจำกัดให้ทำงานในระดับลิงก์
ฟีเจอร์นี้มีไว้เพื่อรองรับรูปแบบการจัดลำดับความสำคัญตามส่วนหัวโดยเฉพาะ
สิทธิ์เข้าถึงเครือข่ายส่วนตัวเพื่อผ่อนปรนเนื้อหาผสม
ในการสร้างการเชื่อมต่อกับอุปกรณ์ในเครือข่าย LAN ที่ไม่มีชื่อที่ไม่ซ้ำกันทั่วโลก จึงไม่สามารถรับใบรับรอง TLS ได้ ฟีเจอร์นี้จะเพิ่มตัวเลือกใหม่ให้กับ fetch() เพื่อประกาศเจตนาของนักพัฒนาแอปที่จะสื่อสารกับอุปกรณ์ดังกล่าว ซึ่งรวมถึงฟีเจอร์ใหม่ที่ควบคุมโดยนโยบายเพื่อจำกัดการเข้าถึงความสามารถนี้ของแต่ละเว็บไซต์ และส่วนหัวใหม่สำหรับการตอบกลับการตรวจสอบล่วงหน้าของเซิร์ฟเวอร์เพื่อระบุข้อมูลเมตาเพิ่มเติม
คำแนะนำสำหรับไคลเอ็นต์ Sec-CH-UA-Form-Factors
คำแนะนำนี้จะให้ข้อมูลเกี่ยวกับรูปแบบของ User Agent แก่เซิร์ฟเวอร์ โดยจะแสดงผลค่ารูปแบบของอุปกรณ์อย่างน้อย 1 ค่าต่อไปนี้
- เดสก์ท็อป: User Agent ที่ทำงานบนคอมพิวเตอร์ส่วนบุคคล
- ยานยนต์: User Agent ที่ฝังอยู่ในยานพาหนะ ซึ่งผู้ใช้อาจมีหน้าที่ควบคุมยานพาหนะและไม่สามารถใส่ใจรายละเอียดเล็กๆ น้อยๆ ได้
- อุปกรณ์เคลื่อนที่: อุปกรณ์ขนาดเล็กที่ใช้การสัมผัสซึ่งผู้ใช้มักพกติดตัว
- แท็บเล็ต: อุปกรณ์ที่ใช้การสัมผัสซึ่งมีขนาดใหญ่กว่า "อุปกรณ์เคลื่อนที่" และโดยปกติแล้วผู้ใช้จะไม่พกติดตัว
- XR: อุปกรณ์ที่สมจริงซึ่งเสริมหรือแทนที่สภาพแวดล้อมรอบตัวผู้ใช้
- EInk: อุปกรณ์ที่มีลักษณะเฉพาะคือการอัปเดตหน้าจอช้าและมีความละเอียดสีจำกัดหรือไม่มีเลย
- นาฬิกา: อุปกรณ์เคลื่อนที่ที่มีหน้าจอขนาดเล็ก (โดยทั่วไปจะน้อยกว่า 2 นิ้ว) ซึ่งพกพาได้ในลักษณะที่ผู้ใช้สามารถเหลือบมองได้อย่างรวดเร็ว
setHTMLUnsafe และ parseHTMLUnsafe
เมธอด setHTMLUnsafe และ parseHTMLUnsafe ช่วยให้ใช้ Declarative Shadow DOM จาก JavaScript ได้ นอกจากนี้ วิธีเหล่านี้ยังช่วยให้แยกวิเคราะห์ HTML เป็น DOM ได้ง่ายขึ้นเมื่อเทียบกับ innerHTML หรือ DOMParser
การอัปเดต Shared Storage API
การอัปเดตนี้เพิ่มการรองรับการเรียกใช้ Worklet แบบข้ามต้นทางโดยไม่ต้องสร้าง iframe
Streams API: การทำซ้ำแบบไม่พร้อมกันของ ReadableStream
Streams API มีพื้นฐานที่ทำงานร่วมกันได้และแพร่หลายสำหรับการสร้าง การเขียน และการใช้สตรีมข้อมูล การเปลี่ยนแปลงนี้เพิ่มการรองรับโปรโตคอลที่ทำซ้ำได้แบบไม่พร้อมกันไปยัง ReadableStream API ซึ่งช่วยให้สามารถใช้สตรีมที่อ่านได้เป็นแหล่งที่มาของลูป await...of
SVG context-fill และ context-stroke
ใช้ฟีเจอร์ SVG ที่มีอยู่ซึ่งอนุญาตให้ใช้คีย์เวิร์ด context-fill และ context-stroke เมื่อระบุพร็อพเพอร์ตี้การเติมและเส้นขีด ซึ่งจะส่งผลต่อซับทรี SVG ที่สร้างอินสแตนซ์ด้วยองค์ประกอบ <use> และองค์ประกอบ <marker> ที่สร้างอินสแตนซ์โดยใช้พร็อพเพอร์ตี้ marker ในองค์ประกอบ <path> เท่านั้น ในกรณีดังกล่าว context-fill และ context-stroke จะได้รับการแก้ไขเป็นค่าของพร็อพเพอร์ตี้ fill และ stroke ใน <use> หรือ <path>
WebGPU: การรองรับ ServiceWorker และ SharedWorker
เพิ่มการรองรับ ServiceWorker และ SharedWorker ลงใน WebGPU เพื่อให้สอดคล้องกับความสามารถของ WebGL ที่มีอยู่
Service Worker ช่วยให้ WebGPU ทำงานแบบออฟไลน์และประมวลผลในเบื้องหลังได้ ซึ่งหมายความว่าเว็บแอปพลิเคชันหรือส่วนขยาย Chrome ที่ใช้กราฟิกจำนวนมากสามารถแคชทรัพยากรและทำการคำนวณได้แม้ว่าผู้ใช้จะไม่ได้โต้ตอบกับหน้าเว็บอยู่ก็ตาม
Shared Worker ช่วยให้แท็บหรือบริบทของส่วนขยายหลายรายการสามารถประสานงานและแชร์ทรัพยากร WebGPU ได้ ซึ่งจะช่วยให้ประสิทธิภาพการทำงานราบรื่นขึ้นและใช้ฮาร์ดแวร์กราฟิกของผู้ใช้ได้อย่างมีประสิทธิภาพมากขึ้น
WebSocketStream API
WebSocket API มีอินเทอร์เฟซ JavaScript สำหรับโปรโตคอล WebSocket RFC6455 แม้ว่า API นี้จะทำงานได้ดี แต่ก็ไม่สะดวกนักในแง่ของการยศาสตร์และไม่มีฟีเจอร์สำคัญอย่าง Backpressure จุดประสงค์ของ WebSocketStream API คือการแก้ไขข้อบกพร่องเหล่านี้โดยผสานรวม WHATWG Streams กับ WebSocket API
ดูข้อมูลเพิ่มเติมใน WebSocketStream: การผสานรวมสตรีมกับ WebSocket API
การห่อหุ้มข้อมูลคีย์ X25519Kyber768 สำหรับ TLS
ปกป้องการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการวิเคราะห์เพื่อแก้ไขรหัสลับควอนตัมในอนาคตโดยการใช้อัลกอริทึมข้อตกลงเกี่ยวกับคีย์ที่ต้านทานควอนตัม Kyber768
ซึ่งเป็นข้อตกลงเกี่ยวกับคีย์ X25519 และ Kyber768 แบบผสมตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกขอบเขตของ W3C ข้อตกลงเกี่ยวกับคีย์นี้จะเปิดตัวเป็นรหัสลับ TLS และไม่ควรส่งผลกระทบต่อผู้ใช้
ดูข้อมูลเพิ่มเติมได้ที่การปกป้องการรับส่งข้อมูลใน Chrome ด้วย Kyber KEM แบบไฮบริด
ช่วงทดลองใช้จากต้นทางที่อยู่ระหว่างดำเนินการ
ใน Chrome 124 คุณสามารถเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้
ช่วงทดลองใช้ฟีเจอร์ที่เลิกใช้งานสำหรับเหตุการณ์การปรับปรุงโครงสร้าง
เหตุการณ์การปรับปรุงโครงสร้าง ซึ่งรวมถึง DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument และ DOMCharacterDataModified อาจส่งผลเสียต่อประสิทธิภาพของหน้าเว็บ และยังเพิ่มความซับซ้อนในการเพิ่มฟีเจอร์ใหม่ๆ ลงในเว็บอย่างมากด้วย API เหล่านี้เลิกใช้งานแล้วจากข้อกำหนดในปี 2011 และถูกแทนที่ (ในปี 2012) ด้วย Mutation Observer API ที่ทำงานได้ดีกว่ามาก
การรองรับเหตุการณ์การปรับปรุงโครงสร้างจะปิดใช้โดยค่าเริ่มต้นตั้งแต่ Chrome 127 เป็นต้นไป ซึ่งจะเริ่มประมาณวันที่ 30 กรกฎาคม 2024 คุณควรย้ายข้อมูลโค้ดไปยัง Mutation Observer API ก่อนวันที่ดังกล่าวเพื่อหลีกเลี่ยงไม่ให้เว็บไซต์ขัดข้อง หากต้องการเวลาเพิ่มเติม โปรดลงทะเบียนช่วงทดลองใช้ฟีเจอร์ที่เลิกใช้งานสำหรับเหตุการณ์การปรับปรุงโครงสร้างเพื่อเปิดใช้ฟีเจอร์อีกครั้งในเว็บไซต์หนึ่งๆ เป็นระยะเวลาจำกัด ซึ่งจะใช้ได้จนถึง Chrome 134 และสิ้นสุดในวันที่ 25 มีนาคม 2025
หรือจะใช้นโยบายระดับองค์กร MutationEventsEnabled เพื่อวัตถุประสงค์เดียวกันผ่าน Chrome 134 ก็ได้เช่นกัน
ลงทะเบียนช่วงทดลองใช้ฟีเจอร์ที่เลิกใช้งานสำหรับเหตุการณ์การปรับปรุงโครงสร้าง
การเลิกใช้งานและการนำออก
Chrome เวอร์ชันนี้จะเลิกใช้งานและนำฟีเจอร์ต่อไปนี้ออก ไปที่ ChromeStatus.com เพื่อดูรายการการเลิกใช้งานที่วางแผนไว้ การเลิกใช้งานในปัจจุบัน และการนำออกก่อนหน้านี้
Chrome เวอร์ชันนี้จะนำฟีเจอร์ออก 1 รายการ
นำชื่อแทน "window-placement" สำหรับสิทธิ์และนโยบายสิทธิ์ "window-management" ออก
นำชื่อแทน "window-placement" สำหรับสิทธิ์และนโยบายสิทธิ์ "window-management" ออก ซึ่งเป็นส่วนหนึ่งของความพยายามครั้งใหญ่ในการเปลี่ยนชื่อสตริงโดยเลิกใช้งานและนำ "window-placement" ออกในที่สุด การเปลี่ยนแปลงคำศัพท์ช่วยเพิ่มอายุการใช้งานของข้อบ่งชี้เมื่อ Window Management API มีการพัฒนาไปเรื่อยๆ