Chrome 130 เบต้า

เผยแพร่เมื่อวันที่ 18 กันยายน 2024

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

รุ่นนี้มีการเพิ่มฟีเจอร์ CSS ใหม่ 4 รายการ

การค้นหาต้นไม้แบบแบนสำหรับ CSS Container Query

ข้อกําหนดสําหรับการค้นหาคอนเทนเนอร์มีการเปลี่ยนแปลงเพื่อค้นหาบรรพบุรุษของต้นไม้แบบแบน การเปลี่ยนแปลงนี้เกี่ยวข้องกับ Shadow DOM เท่านั้น ซึ่งตอนนี้องค์ประกอบจะดูคอนเทนเนอร์ที่ไม่มีชื่อภายในต้นไม้เงาซึ่งมีการจัดสรรองค์ประกอบหรือบรรพบุรุษขององค์ประกอบนั้น แม้ว่ากฎ CSS จะไม่ใช้ ::part() หรือ ::slotted() ก็ตาม

การฝัง CSS: กฎการประกาศที่ฝัง

เก็บประกาศแบบเปลือยตามกฎที่ฝังไว้โดยรวมประกาศเหล่านั้นไว้ในกฎ CSSNestedDeclarations ระหว่างการแยกวิเคราะห์

การรองรับ box-decoration-break แบบเต็มและแบบไม่มีคำนำหน้า

เพิ่มการรองรับ box-decoration-break: clone ทั้งสำหรับการแบ่งหน้าย่อยในบรรทัด (เลย์เอาต์บรรทัด) และการแบ่งหน้าย่อยของบล็อก (การแบ่งหน้าสำหรับสิ่งพิมพ์และหลายคอลัมน์)

ก่อนหน้านี้ใน Chrome รองรับเฉพาะ box-decoration-break:slice (ค่าเริ่มต้น) สำหรับการแยกบล็อก ส่วนการแยกย่อยในบรรทัดรองรับทั้ง box-decoration-break:slice และ box-decoration-break:clone แต่จะใช้ได้เฉพาะเมื่อใช้พร็อพเพอร์ตี้ -webkit-box-decoration-break ที่ขึ้นต้นด้วยตัวเลขเท่านั้น

อนุญาตองค์ประกอบจำลองและคลาสจำลองเพิ่มเติมหลัง ::part()

ตัวเลือก CSS ที่ใช้องค์ประกอบสมมติ ::part() จะได้รับอนุญาตให้มีองค์ประกอบสมมติ CSS อื่นๆ (ยกเว้น ::part()) และองค์ประกอบสมมติ CSS ประเภทอื่นๆ อีกมากมายตามหลัง ยังคงไม่อนุญาตให้ใช้คอมบิเนเตอร์หลัง ::part() และเราไม่อนุญาตให้ใช้คลาสจำลองที่ขึ้นอยู่กับโครงสร้างต้นไม้

ก่อนหน้านี้ Chrome อนุญาตให้ใช้ชุดคลาสจำลองและองค์ประกอบจำลองแบบจำกัดหลังจาก ::part() การเปลี่ยนแปลงนี้อนุญาตคลาสจำลองและองค์ประกอบจำลองทั้งหมดที่ควรอนุญาต ซึ่งหมายความว่าตอนนี้ระบบอนุญาตให้ใช้ตัวเลือกต่างๆ เช่น ::part(part-name):enabled และ ::part(part-name)::marker

Web API

ฟีเจอร์ Attribution Reporting API (ขอบเขตการระบุแหล่งที่มา)

การเปลี่ยนแปลงนี้อิงตามความคิดเห็นเกี่ยวกับเทคโนโลยีโฆษณาและความต้องการในการควบคุมการกรองที่ละเอียดยิ่งขึ้นก่อนเริ่มกระบวนการระบุแหล่งที่มา ซึ่งช่วยให้ผู้เรียก API ระบุช่อง "ขอบเขตการระบุแหล่งที่มา" ที่จะใช้ในการกรองก่อนที่จะเริ่มขั้นตอนการระบุแหล่งที่มาตามปกติ ซึ่งช่วยให้ผู้เรียก API ควบคุมรายละเอียดการระบุแหล่งที่มาได้ละเอียดยิ่งขึ้น รวมถึงสามารถรับรายงานการระบุแหล่งที่มาที่เหมาะสมเมื่อมีผู้ลงโฆษณาหรือแคมเปญหลายรายการที่ทําให้เกิด Conversion ทั้งหมดในเว็บไซต์ปลายทางเดียวกัน

ฟีเจอร์ Attribution Reporting API (การปรับปรุงความเป็นส่วนตัวของคีย์แก้ไขข้อบกพร่อง)

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

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

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

การรับส่งพจนานุกรมการบีบอัดด้วย Brotli และ Zstandard ที่แชร์

ฟีเจอร์นี้เพิ่มการรองรับการใช้คำตอบก่อนหน้าที่กําหนดเป็นพจนานุกรมภายนอกสําหรับการเข้ารหัสเนื้อหาที่บีบอัดคําตอบด้วย Brotli หรือ Zstandard

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

ราบรื่นพร้อมกัน scrollIntoView()

scrollIntoView() ที่ใช้ behavior: "smooth" ช่วยให้นักพัฒนาแอปสร้างคอนเทนเนอร์การเลื่อนที่จะเลื่อนไปยังรายการที่สืบทอดด้วยภาพเคลื่อนไหวการเลื่อนอย่างนุ่มนวลได้ ฟีเจอร์นี้จะแก้ไขการใช้งาน API ของ Chrome เพื่อไม่ให้การเลื่อนที่ไม่เกี่ยวข้องในคอนเทนเนอร์การเลื่อนอื่นๆ ยกเลิกscrollIntoViewภาพเคลื่อนไหวscrollIntoViewที่กำลังดำเนินอยู่

นอกจากนี้ ฟีเจอร์นี้ยังแก้ไขกรณีที่ Chrome เลื่อนไปยังจุดยึดของข้อมูลโค้ดในหน้าเว็บไม่ได้เนื่องจากมี scrollIntoView ที่แข่งขันกันซึ่งเรียกใช้เมื่อหน้าเว็บโหลด

การแสดงภาพซ้อนภาพในเอกสาร: เพิ่มตัวเลือกในการละเว้นแคชขอบเขตหน้าต่าง

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

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

ดูข้อมูลเกี่ยวกับวิธีเปิดหน้าต่างในตำแหน่งและขนาดเริ่มต้น

ปรับปรุงการรายงานข้อผิดพลาดใน IndexedDB สําหรับการอ่านค่าขนาดใหญ่ที่ไม่สําเร็จ

การเปลี่ยนแปลงการรายงานสำหรับบางกรณีข้อผิดพลาดที่เคยรายงานไปก่อนหน้านี้ด้วย DOMException และข้อความ "อ่านค่า IndexedDB ขนาดใหญ่ไม่สำเร็จ"

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

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

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

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

บริการเสนอราคาและประมูลสำหรับ Protected Audience

Protected Audience API (เดิมเรียกว่า FLEDGE) เป็นข้อเสนอ Privacy Sandbox เพื่อแสดง Use Case ของรีมาร์เก็ตติ้งและกลุ่มเป้าหมายที่กำหนดเอง ซึ่งออกแบบมาเพื่อให้บุคคลที่สามไม่สามารถติดตามพฤติกรรมการท่องเว็บของผู้ใช้ในเว็บไซต์ต่างๆ ได้

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

รองรับ URL สกีมที่ไม่พิเศษ

ก่อนหน้านี้ โปรแกรมแยกวิเคราะห์ URL ของ Chrome ไม่รองรับ URL ที่ไม่พิเศษ โดยโปรแกรมแยกวิเคราะห์จะแยกวิเคราะห์ URL ที่ไม่พิเศษราวกับว่า URL เหล่านั้นมี "เส้นทางทึบ" ซึ่งไม่สอดคล้องกับมาตรฐาน URL ตอนนี้โปรแกรมแยกวิเคราะห์ URL ของ Chromium จะแยกวิเคราะห์ URL ที่ไม่พิเศษอย่างถูกต้องตามมาตรฐาน URL แล้ว

ดูรายละเอียดเพิ่มเติมได้ที่ bit.ly/url-non-special

สตริง JavaScript ในตัวของ WebAssembly

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

WebGPU: การผสมผสานแหล่งที่มาแบบคู่

เพิ่มฟีเจอร์ GPU ที่ไม่บังคับ "การผสมผสานแหล่งที่มาแบบคู่" ซึ่งช่วยให้รวมเอาเอาต์พุตของ Shader แบบ Frgment 2 รายการเข้าด้วยกันเป็น Framebuffer รายการเดียวได้ เทคนิคนี้มีประโยชน์อย่างยิ่งสําหรับแอปพลิเคชันที่ต้องดำเนินการผสมผสานที่ซับซ้อน เช่น แอปพลิเคชันที่ใช้โหมดผสมผสาน Porter-Duff การผสานแหล่งที่มา 2 แหล่งจะช่วยปรับปรุงประสิทธิภาพและความยืดหยุ่นได้ เนื่องจากช่วยลดความจำเป็นในการเปลี่ยนแปลงออบเจ็กต์สถานะไปป์ไลน์บ่อยครั้ง

ซีเรียลเว็บ: แอตทริบิวต์ connected และเหตุการณ์การเชื่อมต่อ RFCOMM

ฟีเจอร์นี้จะเพิ่มแอตทริบิวต์บูลีน SerialPort.connected แอตทริบิวต์จะแสดงผลเป็น true หากพอร์ตอนุกรมเชื่อมต่อกันตามตรรกะ สําหรับพอร์ตอนุกรมแบบใช้สาย พอร์ตจะเชื่อมต่อกันแบบตรรกะหากพอร์ตเชื่อมต่ออยู่กับระบบ สำหรับพอร์ตอนุกรมแบบไร้สาย พอร์ตจะเชื่อมต่อตามตรรกะหากอุปกรณ์ที่โฮสต์พอร์ตมีการเชื่อมต่อที่เปิดอยู่กับโฮสต์

ก่อนหน้านี้มีเพียงพอร์ตซีเรียลแบบใช้สายเท่านั้นที่ส่งเหตุการณ์การเชื่อมต่อและยกเลิกการเชื่อมต่อ เมื่อใช้ฟีเจอร์นี้ พอร์ตอนุกรม RFCOMM ของบลูทูธจะส่งเหตุการณ์เหล่านี้เมื่อพอร์ตเชื่อมต่อหรือยกเลิกการเชื่อมต่อตามตรรกะ

ฟีเจอร์นี้มีไว้เพื่อให้แอปพลิเคชันตรวจจับได้เมื่อพอร์ตซีเรียล RFCOMM ของบลูทูธพร้อมใช้งานโดยไม่ต้องเปิดพอร์ต

ดูข้อมูลเพิ่มเติมในการอัปเดต Bluetooth RFCOMM ในซีเรียลเว็บ

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

ใน Chrome 130 คุณจะเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้

Language Detector API

JavaScript API สําหรับการตรวจจับภาษาของข้อความพร้อมระดับความเชื่อมั่น

WebAuthn attestationFormats

รองรับช่อง attestationFormats จาก WebAuthn ระดับ 3

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

ลงทะเบียนทดลองใช้ attestationFormats ของ WebAuthn

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

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

Chrome เวอร์ชันนี้จะนําฟีเจอร์ 1 รายการออก

นำ expectedImprovement ใน DelegatedInkTrailPresenter ออก

แอตทริบิวต์ expectedImprovement จะบอกให้นักพัฒนาเว็บทราบว่า DelegatedInkTrails API จะปรับปรุงเวลาในการตอบสนองของหมึกปัจจุบันได้มากน้อยเพียงใด อย่างไรก็ตาม แอตทริบิวต์นี้ไม่คุ้มค่ากับการเพิ่มความสับสนของข้อมูลลายนิ้วมือ

Chrome เวอร์ชันนี้จะเลิกใช้งานฟีเจอร์ 1 รายการ

เลิกใช้งานเมธอด requestAdapterInfo() ของ GPUAdapter ที่ไม่เป็นไปตามมาตรฐาน

เมธอดแบบไม่สอดคล้องกัน requestAdapterInfo() ใน WebGPU นั้นไม่จำเป็นเนื่องจากนักพัฒนาซอฟต์แวร์สามารถรับ GPUAdapterInfo แบบสอดคล้องกันโดยใช้แอตทริบิวต์ GPUAdapter info อยู่แล้ว