Chrome 124 เบต้า

การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ 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 เป็นค่าว่างได้ แอตทริบิวต์ styleSheet ใน CSSImportRule จะเป็นค่าว่างได้หากไม่มีสไตล์ชีต CSS ที่เกี่ยวข้อง

CSSKeyframesRule.length

แสดงแอตทริบิวต์ length ของ CSSKeyframesRule อินเทอร์เฟซที่รองรับพร็อพเพอร์ตี้ที่จัดทำดัชนีแล้วต้องกำหนดแอตทริบิวต์ประเภทจำนวนเต็มชื่อ length

HTML

รุ่นนี้ได้เพิ่มฟีเจอร์ HTML ใหม่ 2 รายการ

แอตทริบิวต์ writingsuggestions

เบราว์เซอร์เริ่มให้คำแนะนำในการเขียนแก่ผู้ใช้ขณะที่พิมพ์ลงในช่องที่แก้ไขได้ต่างๆ ในเว็บ แม้ว่าโดยทั่วไปวิธีนี้จะมีประโยชน์สำหรับผู้ใช้ แต่ก็มีบางกรณีที่นักพัฒนาซอฟต์แวร์อาจต้องการปิดความช่วยเหลือด้านการเขียนที่ได้จากเบราว์เซอร์ เช่น ส่วนขยายหรือเว็บไซต์ที่มีฟังก์ชันการทำงานคล้ายกัน

แอตทริบิวต์ใหม่ writingsuggestions มีค่า true หรือ false ที่ช่วยให้นักพัฒนาซอฟต์แวร์เปิดหรือปิดคำแนะนำในการเขียนที่ได้จากเบราว์เซอร์ สถานะของแอตทริบิวต์สำหรับองค์ประกอบอาจรับค่ามาจากองค์ประกอบระดับบนด้วย ดังนั้นจึงช่วยให้นักพัฒนาซอฟต์แวร์ควบคุมฟังก์ชันการทำงานนี้ในระดับต่อองค์ประกอบ หรือต่อเอกสาร หรือเอกสารย่อยได้

คอนเทนเนอร์แบบเลื่อนที่โฟกัสได้ด้วยแป้นพิมพ์

ปรับปรุงการช่วยเหลือพิเศษโดยทำให้คอนเทนเนอร์แบบเลื่อนโฟกัสได้โดยการใช้การนำทางโฟกัสตามลำดับ ก่อนการเปลี่ยนแปลงนี้ แป้นแท็บจะไม่โฟกัสแถบเลื่อน เว้นแต่จะตั้งค่า tabIndex เป็น 0 ขึ้นไปอย่างชัดเจน

การกำหนดให้แถบเลื่อนสามารถโฟกัสได้โดยค่าเริ่มต้น ทำให้ผู้ใช้ที่ไม่สามารถ (หรือไม่ต้องการ) ใช้เมาส์สามารถโฟกัสเนื้อหาที่คลิปได้โดยใช้แท็บของแป้นพิมพ์และปุ่มลูกศร คุณสมบัตินี้เปิดใช้เฉพาะเมื่อแถบเลื่อนไม่มีเด็กที่โฟกัสแป้นพิมพ์ได้

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

API ของเว็บ

ส่วนเพิ่มเติมจาก Attribution Reporting API

เราได้เพิ่มฟีเจอร์ต่างๆ ลงใน Attribution Reporting API เพื่อสร้างความสามารถในการแก้ไขข้อบกพร่องเพิ่มเติม โดยการรองรับรายงานการแก้ไขข้อบกพร่องเมื่อล้มเหลว ปรับปรุงหลักการยศาสตร์ของ API โดยการรองรับช่องเพื่อระบุแพลตฟอร์มการลงทะเบียนที่ต้องการ และปรับปรุงความเป็นส่วนตัว

การแสดงภาพซ้อนภาพในเอกสาร: เพิ่มตัวเลือกในการซ่อนปุ่มย้อนกลับ

การดำเนินการนี้จะเพิ่มพารามิเตอร์ใหม่ (disallowReturnToOpener) ลงใน API การแสดงภาพซ้อนภาพของเอกสาร ซึ่งเมื่อตั้งค่าเป็น "จริง" จะเป็นการบอกใบ้เบราว์เซอร์ว่าไม่ควรแสดงปุ่มในหน้าต่างการแสดงภาพซ้อนภาพซึ่งให้ผู้ใช้กลับไปที่แท็บที่เปิดอยู่

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

ดูข้อมูลเพิ่มเติมในเอกสารประกอบสำหรับการแสดงภาพซ้อนภาพของเอกสาร

การบล็อกการแสดงผลเอกสาร

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

ซึ่งสำคัญอย่างยิ่งสำหรับการเปลี่ยนมุมมองซึ่งสถานะ DOM ที่ผ่านการแยกวิเคราะห์แล้วในเฟรมแรกสามารถเปลี่ยนแปลงการเปลี่ยนที่สร้างขึ้นได้อย่างมาก

โปรดทราบว่าฟีเจอร์นี้จะใช้ไวยากรณ์ <link rel=expect href="#id"> ที่อนุญาตให้องค์ประกอบลิงก์อ้างอิงองค์ประกอบอื่นที่คาดไว้ในหน้าเว็บ จากนั้นระบบจะบล็อกการแสดงผลจนกว่าจะมีการแยกวิเคราะห์องค์ประกอบที่คาดไว้อย่างสมบูรณ์ ซึ่งจะมาแทนที่การใช้แอตทริบิวต์ HTML ในก่อนหน้านี้ที่ทำให้ระบบบล็อกการแสดงผลทั้งเอกสารได้

แอตทริบิวต์ jitterBufferTarget รายการ

แอตทริบิวต์ jitterBufferTarget อนุญาตให้แอปพลิเคชันระบุระยะเวลาเป้าหมายเป็นมิลลิวินาทีของสื่อสำหรับบัฟเฟอร์ Jitter ของ RTCRtpReceiver ที่จะคงไว้ชั่วคราว การเปลี่ยนแปลงนี้มีผลต่อปริมาณการบัฟเฟอร์ที่ User Agent ทำ ซึ่งจะส่งผลต่อการส่งซ้ำและการกู้คืนการสูญหายของแพ็กเก็ต การเปลี่ยนค่าเป้าหมายช่วยให้แอปพลิเคชันควบคุมการสมดุลระหว่างการหน่วงเวลาการเล่นและความเสี่ยงที่จะทำให้เฟรมเสียงหรือวิดีโอหมดลงเนื่องจาก Jitter ของเครือข่าย

pageswap เหตุการณ์

เหตุการณ์ pageswap จะเริ่มทำงานในออบเจ็กต์หน้าต่างของเอกสารเมื่อการนำทางจะแทนที่เอกสารนี้ด้วยเอกสารใหม่ เหตุการณ์จะให้ข้อมูลการเปิดใช้งานเกี่ยวกับการนําทาง (type, NavigationHistoryEntry สําหรับเอกสารใหม่)

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

ส่วนหัวของคำขอ HTTP priority

การดำเนินการนี้จะเพิ่มส่วนหัวของคำขอ priority สำหรับคำขอ HTTP ทั้งหมดที่มีข้อมูลลำดับความสำคัญของคำขอในขณะที่ส่ง

RFC 9218 (รูปแบบลำดับความสำคัญที่ขยายได้สำหรับ HTTP) กำหนดส่วนหัวของคำขอ HTTP priority เพื่อใช้สำหรับลำดับความสำคัญของคำขอในการส่งสัญญาณไปยังต้นทาง (และตัวกลาง) นอกจากนี้ยังกำหนดกระบวนการต่อรองและเฟรมระดับโปรโตคอลสำหรับ HTTP/2 และ HTTP/3 เพื่อให้มีข้อมูลลำดับความสำคัญเดียวกัน

ส่วนหัวจะส่งสัญญาณลำดับความสำคัญเริ่มต้นของทรัพยากรก็ต่อเมื่อมีการขอทรัพยากรเป็นครั้งแรกเท่านั้น ขณะที่กลไกแบบเฟรมจะอนุญาตให้แก้ไขลำดับความสำคัญหลังจากเกิดกรณีจริงขึ้นเท่านั้น

ส่วนหัวสามารถดำเนินการเซิร์ฟเวอร์ต้นทางจากต้นทางถึงปลายทางได้ (และให้กลไกสำหรับต้นทางในการลบล้างลำดับความสำคัญหากตัวกลางรับรู้) ขณะที่เฟรมจะถูกจำกัดการทำงานในระดับลิงก์

ฟีเจอร์นี้มีไว้รองรับรูปแบบการจัดลำดับความสำคัญตามส่วนหัวโดยเฉพาะ

สิทธิ์เข้าถึงเครือข่ายส่วนตัวเพื่อผ่อนคลายเนื้อหาผสม

ในการสร้างการเชื่อมต่อกับอุปกรณ์ในเครือข่ายภายในที่ไม่มีชื่อที่ไม่ซ้ำกันทั่วโลก ดังนั้นจึงรับใบรับรอง TLS ไม่ได้ ฟีเจอร์นี้จะแนะนำตัวเลือกใหม่ของ fetch() เพื่อประกาศเจตนาของนักพัฒนาซอฟต์แวร์ในการสื่อสารกับอุปกรณ์ดังกล่าว ซึ่งรวมถึงฟีเจอร์ใหม่ที่ควบคุมด้วยนโยบายเพื่อมอบสิทธิ์เข้าถึงความสามารถนี้ของแต่ละเว็บไซต์ และส่วนหัวใหม่สำหรับการตอบกลับการตรวจสอบล่วงหน้าของเซิร์ฟเวอร์เพื่อระบุข้อมูลเมตาเพิ่มเติม

คำแนะนำเกี่ยวกับไคลเอ็นต์ Sec-CH-UA-Form-Factors

คำแนะนำนี้จะให้ข้อมูลของเซิร์ฟเวอร์เกี่ยวกับรูปแบบของอุปกรณ์ของ User Agent โดยจะแสดงผลค่ารูปแบบของอุปกรณ์ต่อไปนี้อย่างน้อย 1 ค่า

  • เดสก์ท็อป: User Agent ที่ทำงานในคอมพิวเตอร์ส่วนบุคคล
  • ยานยนต์: User Agent ที่ฝังอยู่ในยานพาหนะ ซึ่งผู้ใช้อาจรับผิดชอบในการขับขี่ยานพาหนะและไม่สามารถดูรายละเอียดเล็กๆ น้อยๆ ได้
  • อุปกรณ์เคลื่อนที่: อุปกรณ์ขนาดเล็กที่มีหน้าจอสัมผัสซึ่งโดยปกติพกติดตัวผู้ใช้
  • แท็บเล็ต: อุปกรณ์แบบสัมผัสที่มีขนาดใหญ่กว่า "อุปกรณ์เคลื่อนที่" และมักไม่พกติดตัวผู้ใช้
  • XR: อุปกรณ์สมจริงที่เพิ่มหรือแทนที่สภาพแวดล้อมรอบๆ ผู้ใช้
  • EInk: อุปกรณ์ที่มีลักษณะเป็นการอัปเดตหน้าจอที่ช้าและความละเอียดสีที่จำกัดหรือไม่มีเลย
  • นาฬิกา: อุปกรณ์เคลื่อนที่ที่มีหน้าจอขนาดเล็ก (โดยปกติจะน้อยกว่า 2 นิ้ว) พกพาในลักษณะที่ผู้ใช้มองได้อย่างรวดเร็ว

setHTMLUnsafeและparseHTMLUnsafe

เมธอด setHTMLUnsafe และ parseHTMLUnsafe อนุญาตให้ใช้ DOM ในโฆษณาเงาประกาศจาก JavaScript ได้ วิธีการเหล่านี้ยังช่วยให้แยกวิเคราะห์ HTML เป็น DOM ได้ง่ายกว่าเมื่อเทียบกับ innerHTML หรือ DOMParser

การอัปเดต Shared Storage API

การอัปเดตนี้จะเพิ่มการรองรับการเรียกใช้เวิร์กเลตแบบข้ามต้นทางโดยไม่ต้องสร้าง iframe

Streams API: การทำซ้ำแบบไม่พร้อมกัน ReadableStream

โดย 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 Workers อนุญาตให้มีแท็บหรือบริบทส่วนขยายหลายรายการในการประสานงานและแชร์ทรัพยากร WebGPU ซึ่งจะทำให้การทำงานราบรื่นขึ้นและการใช้งานฮาร์ดแวร์กราฟิกของผู้ใช้ได้อย่างมีประสิทธิภาพมากขึ้น

WebSocketStream API

WebSocket API ให้อินเทอร์เฟซ JavaScript กับโปรโตคอล RFC6455 WebSocket แม้ว่าโฆษณาจะทำงานได้อย่างดี แต่ก็ดูแปลกประหลาดในแง่ของหลักสรีรศาสตร์และยังขาดฟีเจอร์สำคัญของการกดย้อนกลับ จุดประสงค์ของ 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 และแทนที่ด้วย Mutation Observer API ที่มีลักษณะการทำงานที่ดีกว่าเดิม (ในปี 2012)

การรองรับกิจกรรมการเปลี่ยนแปลง จะถูกปิดใช้โดยค่าเริ่มต้นใน Chrome 127 ประมาณวันที่ 30 กรกฎาคม 2024 คุณควรย้ายข้อมูลโค้ดไปยัง Mutation Observer API ก่อนวันที่ดังกล่าวเพื่อหลีกเลี่ยงความเสียหายของเว็บไซต์ หากต้องการเวลามากกว่านี้ ให้ลงทะเบียนในช่วงทดลองใช้การเลิกใช้งานเหตุการณ์การแก้ไขเพื่อเปิดใช้ฟีเจอร์นี้อีกครั้งในระยะเวลาที่จํากัดในเว็บไซต์ที่กำหนด ใบอนุญาตนี้ใช้ได้ผ่าน Chrome 134 ซึ่งจะสิ้นสุดในวันที่ 25 มีนาคม 2025

หรือจะใช้นโยบาย MutationEventsEnabled สำหรับองค์กรเพื่อวัตถุประสงค์เดียวกันนี้ผ่าน Chrome 134 ก็ได้

ลงทะเบียนเข้าร่วมช่วงทดลองใช้การเลิกใช้งานเหตุการณ์ Mutation

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

Chrome เวอร์ชันนี้จะแนะนำการเลิกใช้งานและการนำออกต่อไปนี้ ไปที่ ChromeStatus.com เพื่อดูรายการการเลิกใช้งานที่วางแผนไว้ การเลิกใช้งานปัจจุบัน และการนำออกก่อนหน้า

Chrome รุ่นนี้จะนำฟีเจอร์ออก 1 รายการ

นำชื่อแทน "window-placement" สำหรับสิทธิ์และนโยบายสิทธิ์ "window-management" ออก

นำชื่อแทน "window-placement" สำหรับนโยบายสิทธิ์และสิทธิ์ "window-management" ออก ซึ่งเป็นส่วนหนึ่งของความพยายามครั้งใหญ่ในการเปลี่ยนชื่อสตริงโดยการเลิกใช้งานและนำ "window-placement" ออกจากกันในที่สุด การเปลี่ยนแปลงคำศัพท์จะช่วยเพิ่มอายุการใช้งานของข้อบ่งชี้เนื่องจาก Window Management API มีการเปลี่ยนแปลงเมื่อเวลาผ่านไป