Chrome 124

การเปลี่ยนแปลงต่อไปนี้จะมีผลกับเวอร์ชันเสถียรของ Chrome 124 สำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ต่างๆ ที่ระบุไว้ที่นี่ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com Chrome 124 มีความเสถียรตั้งแต่วันที่ 16 เมษายน 2024 คุณดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อปหรือ Google Play Store สำหรับ Android

หากต้องการดูเฉพาะไฮไลต์ โปรดดูใหม่ใน Chrome 124

การเปลี่ยนแปลงเบราว์เซอร์และเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์

การติดตั้งแบบสากล

ทำให้หน้าเว็บใดๆ ติดตั้งได้แม้ว่าจะไม่ตรงตามเกณฑ์ความสามารถในการติดตั้ง PWA ปัจจุบัน

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

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

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

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

ตัวเลื่อนที่โฟกัสได้ของแป้นพิมพ์ | การติดตามข้อบกพร่อง #40113891 | รายการ ChromeStatus.com | ข้อกำหนด

ข้อความแจ้งเกี่ยวกับสิทธิ์สำหรับ Web MIDI API

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

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

การติดตามข้อบกพร่อง #40063295 | รายการ ChromeStatus.com | ข้อกำหนด

HTML และ DOM

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

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

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

รายการ ChromeStatus.com | ข้อกำหนด

กำลังโหลด

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

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

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

รายการ ChromeStatus.com | ข้อกำหนด

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

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

รายการ ChromeStatus.com | ข้อกำหนด

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

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

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

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

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

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

การติดตามข้อบกพร่อง #40252001 | รายการ ChromeStatus.com | ข้อกำหนด

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

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

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

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

รายการ ChromeStatus.com | ข้อกำหนด

การห่อหุ้มคีย์ X25519Kyber768 สำหรับ TLS

ปกป้องการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการเป็นคริปโตเคอเรนซีควอนตัมในอนาคตโดยการทำให้อัลกอริทึมข้อตกลงเกี่ยวกับคีย์ที่ทนทานทางควอนตัมของ Kyber768 ใช้งานได้

นี่คือข้อตกลงคีย์แบบผสม X25519 และ Kyber768 ตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกขอบเขตของ W3C ข้อตกลงคีย์นี้จะเปิดตัวเป็นการเข้ารหัส TLS และควรมีความโปร่งใสต่อผู้ใช้

การปกป้องการเข้าชม Chrome ด้วย Kyber KEM แบบไฮบริด | การติดตามข้อบกพร่อง #40910498 | รายการ ChromeStatus.com | ข้อกำหนด

สื่อ

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

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

Tracking Bug #324276557 | รายการ ChromeStatus.com | ข้อกำหนด

API ของเว็บ

WebSocketStream API

WebSocket API ให้อินเทอร์เฟซ JavaScript กับโปรโตคอล RFC6455 WebSocket แม้ว่าโฆษณาจะทำงานได้อย่างดี แต่ก็ดูแปลกประหลาดในแง่ของหลักสรีรศาสตร์และยังขาดฟีเจอร์สำคัญของการกดย้อนกลับ จุดประสงค์ของ WebSocketStream API คือการแก้ไขปัญหาโดยการผสานรวม WHATWG Streams กับ WebSocket API

WebSocketStream: การผสานรวมสตรีมกับ WebSocket API | การติดตามข้อบกพร่อง #41470216 | รายการ ChromeStatus.com | ข้อกำหนด

setHTMLUnsafeและparseHTMLUnsafe

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

รายการ ChromeStatus.com | ข้อกำหนด

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

โดย API ของสตรีมจะเป็นแบบพื้นฐานที่ทำงานร่วมกันได้ทุกที่สำหรับการสร้าง เขียน และใช้งานสตรีมข้อมูล การเปลี่ยนแปลงนี้เพิ่มการรองรับโปรโตคอลที่ทำซ้ำได้แบบไม่พร้อมกันไปยัง ReadableStream API ซึ่งช่วยทำให้ใช้สตรีมที่อ่านได้เป็นแหล่งที่มาของการวนซ้ำ await...of รอบ

การติดตามข้อบกพร่อง #40612900 | รายการ ChromeStatus.com | ข้อกำหนด

pageswap เหตุการณ์

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

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

การติดตามข้อบกพร่อง #41495176 | รายการ ChromeStatus.com | ข้อกำหนด

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

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

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

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

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

เอกสารประกอบสำหรับการแสดงภาพซ้อนภาพของเอกสาร | รายการ ChromeStatus.com | ข้อกำหนด

การแสดงผลและกราฟิก

SVG context-fill และ context-stroke

ใช้ฟีเจอร์ SVG ที่มีอยู่ซึ่งอนุญาตคีย์เวิร์ด context-fill และ context-stroke เมื่อระบุคุณสมบัติการเติมสีและเส้นโครงร่าง ซึ่งจะมีผลเฉพาะกับต้นไม้ย่อย SVG ที่สร้างอินสแตนซ์ด้วยองค์ประกอบ <use> และองค์ประกอบ <marker> ที่สร้างอินสแตนซ์โดยใช้พร็อพเพอร์ตี้ marker ในองค์ประกอบ <path> ในกรณีดังกล่าว context-fill และ context-stroke จะหาค่าเป็นค่าของพร็อพเพอร์ตี้ fill และ stroke ใน <use> หรือ <path>

รายการ ChromeStatus.com | ข้อกำหนด

WebGPU: การรองรับ ServiceWorker และ SharedWorker

การรองรับ ServiceWorker และ SharedWorker จะเพิ่มไปยัง WebGPU เพื่อให้สอดคล้องกับความสามารถของ WebGL ที่มีอยู่

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

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

Tracking Bug #41494731 | รายการ ChromeStatus.com | ข้อกำหนด

ช่วงทดลองใช้จากต้นทางอยู่ระหว่างดำเนินการ

ใน 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 ก็ได้

ช่วงทดลองใช้จากต้นทาง | การติดตามข้อบกพร่อง #40268638 | รายการ ChromeStatus.com | รายละเอียด

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

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

ส่วน Chrome 124 จะไม่มีการเลิกใช้งานหรือการนำออก

อ่านเพิ่มเติม

อยากศึกษาเรื่องอื่นอีกใช่ไหม โปรดดูแหล่งข้อมูลเพิ่มเติมเหล่านี้