Chrome 123 เบต้า

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

CSS

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

ฟังก์ชันสีของ CSS light-dark()

ฟังก์ชัน light-dark() ใน CSS ช่วยให้นักพัฒนาแอปปรับรูปแบบสีตามความต้องการของผู้ใช้สำหรับโหมดสว่างหรือมืดได้ง่ายขึ้น

ใช้ light-dark() เพื่อระบุค่าสี 2 ค่าที่แตกต่างกันภายในพร็อพเพอร์ตี้ CSS รายการเดียว เบราว์เซอร์ (หรืออุปกรณ์) จะเลือกสีที่เหมาะสมโดยอัตโนมัติตามค่า color-scheme ที่คำนวณขององค์ประกอบ ตัวอย่างเช่น สำหรับ CSS ต่อไปนี้

  • หากผู้ใช้เลือกธีมสว่าง องค์ประกอบ .target จะมีพื้นหลังสีเขียวมะนาว
  • หากผู้ใช้เลือกธีมมืด องค์ประกอบ .target จะมีพื้นหลังสีเขียว
html {
  color-scheme: light dark;
}
.target {
    background-color: light-dark(lime, green);
}

โหมดการแสดงการแสดงภาพซ้อนภาพใน CSS

เพิ่มการรองรับฟีเจอร์สื่อ CSS display-mode สำหรับค่า picture-in-picture ซึ่งจะช่วยให้นักพัฒนาเว็บเขียนกฎ CSS ที่เจาะจงได้ซึ่งจะมีผลเฉพาะเมื่อ (ส่วนหนึ่งของ) เว็บแอปแสดงในโหมดการแสดงภาพซ้อนภาพ

ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ของสื่อได้ในเอกสารการแสดงภาพซ้อนภาพ

คุณสมบัติ CSS ของ align-content สำหรับการบล็อก

ในตอนนี้ ระบบรองรับพร็อพเพอร์ตี้ CSS align-content ในคอนเทนเนอร์แบบบล็อกและเซลล์ในตารางแล้ว ก่อนหน้านี้พร็อพเพอร์ตี้นี้รองรับเฉพาะรายการแบบตารางกริดและรายการ Flex เท่านั้น ตัวอย่างเช่น display: block, display: list-item และ display: table-cell สามารถสอดคล้องกันโดยใช้ align-content ได้แล้ว

ดูข้อมูลเพิ่มเติมในการรองรับ align-content ในเลย์เอาต์บล็อกและตาราง

พร็อพเพอร์ตี้ CSS field-sizing

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

พร็อพเพอร์ตี้ text-spacing-trim ของ CSS

พร็อพเพอร์ตี้นี้ใช้ช่องไฟกับอักขระเครื่องหมายวรรคตอนของจีน ญี่ปุ่น และเกาหลี (CJK) เพื่อสร้างตัวอักษรที่สวยงามตามที่กำหนดโดย JLREQ (ข้อกำหนดสำหรับเลย์เอาต์ข้อความภาษาญี่ปุ่น) และ CLREQ (ข้อกำหนดสำหรับเลย์เอาต์ข้อความภาษาจีน)

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

พร็อพเพอร์ตี้ text-spacing-trim ยอมรับค่าใดค่าหนึ่งจาก 4 ค่า ได้แก่ normal, trim-start, space-all และ space-first ดูข้อมูลเพิ่มเติมในขอแนะนำฟีเจอร์ใหม่ 4 รายการสำหรับต่างประเทศใน CSS

API ของเว็บ

อนุญาตให้สร้างข้อมูลเข้าสู่ระบบ WebAuthn ใน iframe แบบข้ามต้นทาง

ฟีเจอร์นี้ช่วยให้นักพัฒนาเว็บสร้างข้อมูลเข้าสู่ระบบ WebAuthn (ซึ่งก็คือข้อมูลเข้าสู่ระบบ "คีย์สาธารณะ" หรือที่เรียกว่าพาสคีย์) ใน iframe แบบข้ามต้นทางได้ ความสามารถใหม่นี้ต้องมีเงื่อนไข 2 ข้อดังนี้

  • iframe มีนโยบายสิทธิ์ publickey-credentials-create-feature
  • iframe มีการเปิดใช้งานผู้ใช้ชั่วคราว

การดำเนินการนี้จะช่วยให้นักพัฒนาแอปสร้างพาสคีย์ในสถานการณ์แบบฝัง เช่น หลังจากขั้นตอนการเพิ่มข้อมูลประจำตัวที่ฝ่าย Relying กำลังมอบประสบการณ์การใช้งานตัวตนแบบรวมศูนย์

กลุ่มฟีเจอร์รายงานการระบุแหล่งที่มา

Chrome 123 เพิ่มการปรับแต่งข้อมูลทริกเกอร์และตัวกรองค่าที่รวบรวมได้ให้กับ Attribution Reporting API ที่มุ่งเน้นเรื่องต่อไปนี้

  • การกำหนดค่า API เพิ่มเติมสำหรับการรายงานระดับเหตุการณ์โดยรองรับการปรับแต่งสำหรับ Cardinality และค่าของทริกเกอร์ข้อมูล
  • ความสามารถในการกำหนดค่า API เพิ่มเติมสำหรับรายงานสรุปโดยการรองรับตัวกรองในค่าแบบรวมได้

การวัดการระบุแหล่งที่มาข้ามแอปและเว็บ

ขยาย Attribution Reporting API เพื่ออนุญาตการระบุแหล่งที่มาของ Conversion ที่เกิดขึ้นในเว็บไปยังเหตุการณ์ที่เกิดขึ้นนอกเบราว์เซอร์ภายในแอปพลิเคชันอื่นๆ

ข้อเสนอในที่นี้ใช้ประโยชน์จากการสนับสนุนการระบุแหล่งที่มาในระดับระบบปฏิบัติการ โดยเฉพาะอย่างยิ่ง มอบตัวเลือกในการอนุญาตให้กิจกรรมบนเว็บบนอุปกรณ์เคลื่อนที่สามารถเข้าร่วมกิจกรรมใน Privacy Sandbox ของ Android ของ Android แม้ว่าจะรองรับแพลตฟอร์มอื่นๆ ได้ด้วยก็ตาม

blocking=render ในสคริปต์โมดูลในบรรทัด

นี่เป็นการเปลี่ยนแปลงเล็กๆ น้อยๆ ที่จะนำข้อจำกัดปลอมออกจาก <script blocking="render"> โดยก่อนการเปลี่ยนแปลงนี้ <script blocking="render"type="module"> จะต้องใช้แอตทริบิวต์ src แม้ว่า src จะเป็น URI ข้อมูลก็ตาม นี่เป็นข้อจำกัดที่ไม่จำเป็น เนื่องจากสคริปต์โมดูลในหน้าซึ่งนำเข้าสคริปต์อื่นๆ ควรจะยังบล็อกการแสดงผลได้

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

การแสดงภาพซ้อนภาพในเอกสาร: อนุญาตให้ focus() API โฟกัสไฟล์เปิด

คุณจะใช้ opener.focus() จากหน้าต่างการแสดงภาพซ้อนภาพของเอกสารเพื่อนำโฟกัสระดับระบบไปยังแท็บที่เป็นเจ้าของหน้าต่างการแสดงภาพซ้อนภาพของเอกสารได้แล้ว

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

นำเข้าไวยากรณ์ของแอตทริบิวต์ with

แอตทริบิวต์การนําเข้าเป็นฟีเจอร์ของ JavaScript ที่อนุญาตให้แสดงคำอธิบายประกอบของการประกาศการนําเข้า เช่น import xxx from "mod" with { type: "json" } Chrome ได้ส่งข้อเสนอเวอร์ชันก่อนหน้ามาตั้งแต่แรก (ใน Chrome 91) โดยใช้ assert เป็นคีย์เวิร์ด จากนั้นเวอร์ชันนี้ได้รับการอัปเดตให้ใช้ with เนื่องจากต้องมีการเปลี่ยนแปลงบางอย่างขณะผสานรวมกับ HTML สำหรับโมดูล JSON และ CSS

jitterBufferTarget

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

ระยะเวลาของเฟรมภาพเคลื่อนไหวนาน

Long Animation Frames API เป็นส่วนขยายของ Long Tasks API โดยจะวัดงานพร้อมกับการอัปเดตการแสดงผลที่ตามมา โดยการเพิ่มข้อมูล เช่น สคริปต์ที่ใช้เวลานาน เวลาในการแสดงผล และเวลาที่ใช้ในการจัดเลย์เอาต์และสไตล์ที่บังคับ หรือที่เรียกว่าการจัดเลย์เอาต์

นักพัฒนาแอปสามารถใช้ข้อมูลนี้เป็นวิธีการวินิจฉัย "ความช้า" ซึ่งวัดโดย INP โดยค้นหาสาเหตุของความคับคั่งในเทรดหลัก ซึ่งมักเป็นสาเหตุที่ทำให้ INP ไม่ถูกต้อง

อินเทอร์เฟซการเปิดใช้งานการไปยังส่วนต่างๆ จะเพิ่ม navigation.activation ตัวเลือกนี้จะจัดเก็บสถานะเกี่ยวกับเวลาที่เปิดใช้งานเอกสารปัจจุบัน (เช่น เวลาที่เริ่มต้นหรือกู้คืนจาก Back-Forward Cache)

ซึ่งหมายความว่านักพัฒนาซอฟต์แวร์สามารถเสนอหน้าที่กำหนดเองตามตำแหน่งที่ผู้ใช้สำรวจได้ เช่น เรียกใช้ภาพเคลื่อนไหวอื่นหากมาจากหน้าแรก

กิจกรรมการแสดงหน้าเว็บ

เหตุการณ์ pagereveal เริ่มทำงานในออบเจ็กต์หน้าต่างของเอกสารเมื่อมีโอกาสแสดงผลครั้งแรกหลังจากที่เอกสารโหลดเป็นครั้งแรก กู้คืนจาก Back-Forward Cache หรือเปิดใช้งานจากการแสดงผลล่วงหน้า

ผู้เขียนหน้าเว็บสามารถใช้ข้อมูลดังกล่าวเพื่อสร้างประสบการณ์การเข้าหน้าเว็บได้ เช่น การเปลี่ยนมุมมองจากสถานะก่อนหน้า

PointerEvent.deviceId สำหรับหมึกหลายปากกา

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

การตรวจสอบการเข้าถึงเครือข่ายส่วนตัวสำหรับคำขอการนำทาง: โหมดคำเตือนเท่านั้น

ก่อนที่เว็บไซต์ ก. ไปยังเว็บไซต์อื่น ข. ในเครือข่ายส่วนตัวของผู้ใช้ ฟีเจอร์นี้จะทำสิ่งต่อไปนี้

  1. ตรวจสอบว่าคำขอเริ่มต้นจากบริบทที่ปลอดภัยหรือไม่
  2. ส่งคำขอการตรวจสอบล่วงหน้าและตรวจสอบว่า B ตอบกลับด้วยส่วนหัวที่อนุญาตการเข้าถึงเครือข่ายส่วนตัวหรือไม่

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

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

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

คำแนะนำนี้ระบุ "รูปแบบของอุปกรณ์" ของ User Agent หรืออุปกรณ์ เพื่อให้เว็บไซต์ปรับแต่งการตอบกลับได้

API การกำหนดเส้นทางแบบคงที่ของ Service Worker

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

การอัปเดตพื้นที่เก็บข้อมูลที่ใช้ร่วมกัน

การอัปเดตนี้รองรับการเรียกใช้ Worklet ข้ามต้นทางโดยไม่ต้องสร้าง iframe

การเข้ารหัสเนื้อหา zstd

Zstandard หรือ zstd เป็นกลไกการบีบอัดข้อมูลที่อธิบายไว้ใน RFC8878 ซึ่งเป็นอัลกอริทึมในการบีบอัดที่ไม่สูญเสียข้อมูลอย่างรวดเร็ว ซึ่งจะกำหนดเป้าหมายสถานการณ์การบีบอัดแบบเรียลไทม์ในระดับ zlib และอัตราส่วนการบีบอัดที่ดีขึ้น เพิ่มโทเค็น zstd เป็นโทเค็นการเข้ารหัสเนื้อหาที่ลงทะเบียนกับ IANA

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

ช่วงทดลองใช้จากต้นทางใหม่

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

การผสานรวมสัญญา JavaScript ของ WebAssembly

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

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

ลงทะเบียนช่วงทดลองใช้จากต้นทางการผสานรวมสัญญา

การนำออก

Chrome 123 จะนำฟีเจอร์ต่อไปนี้ออก

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

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

คำเตือนการเลิกใช้งาน window-placement ชื่อแทนได้เริ่มต้นขึ้นใน Chrome 113 และตอนนี้จะถูกนำออก