Chrome 138

วันที่เผยแพร่เวอร์ชันเสถียร: 24 มิถุนายน 2025

การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ Chrome 138 เวอร์ชันเสถียร ที่เผยแพร่สำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น

CSS และ UI

ฟังก์ชันที่เกี่ยวข้องกับเครื่องหมาย abs() และ sign() จะคำนวณฟังก์ชันต่างๆ ที่เกี่ยวข้องกับเครื่องหมายของอาร์กิวเมนต์

ฟังก์ชัน abs(A) มีการคำนวณ 1 รายการคือ A และแสดงผลค่าสัมบูรณ์ ของ A เป็นประเภทเดียวกับอินพุต หากค่าตัวเลขของ A เป็นบวกหรือ 0⁺ ก็คือ A อีกครั้ง ไม่เช่นนั้นจะเป็น -1 * A

ฟังก์ชัน sign(A) มีการคำนวณ 1 รายการ (A) และแสดงผล -1 หากค่าตัวเลขของ A เป็นลบ, +1 หากค่าตัวเลขของ A เป็นบวก, 0⁺ หากค่าตัวเลขของ A เป็น 0⁺ และ 0⁻ หากค่าตัวเลขของ A เป็น 0⁻ ประเภทการแสดงผลคือ <number> ซึ่งสอดคล้องกับประเภทของการคำนวณอินพุต

เอกสาร MDN:abs() | ข้อบกพร่องในการติดตาม #40253181 | รายการใน ChromeStatus.com | ข้อกำหนด

สัญกรณ์ฟังก์ชันความคืบหน้าของการประมาณค่า: ฟังก์ชัน CSS progress()

รูปแบบฟังก์ชัน progress() จะแสดงผลค่า <number> ที่แสดงถึง ตำแหน่งของการคำนวณหนึ่ง (ค่าความคืบหน้า) ระหว่างการคำนวณอื่นๆ 2 รายการ (ค่าเริ่มต้นของความคืบหน้าและค่าสิ้นสุดของความคืบหน้า) ฟังก์ชัน progress() เป็น ฟังก์ชันทางคณิตศาสตร์

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

CSS sibling-index() และ sibling-count()

ฟังก์ชัน sibling-index() และ sibling-count() สามารถใช้เป็นจำนวนเต็มในค่าพร็อพเพอร์ตี้ CSS เพื่อจัดรูปแบบองค์ประกอบตามตำแหน่งขององค์ประกอบในกลุ่มองค์ประกอบที่อยู่ติดกัน หรือจำนวนองค์ประกอบที่อยู่ติดกันทั้งหมดตามลำดับ ฟังก์ชันเหล่านี้สามารถใช้เป็นค่าจำนวนเต็มได้โดยตรง แต่จะน่าสนใจยิ่งขึ้นเมื่อใช้ภายในcalc() นิพจน์

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

คีย์เวิร์ดการกำหนดขนาด CSS stretch

คีย์เวิร์ดสำหรับพร็อพเพอร์ตี้การกำหนดขนาด CSS (เช่น width และ height) ที่ช่วยให้องค์ประกอบขยายเพื่อเติมพื้นที่ว่างของบล็อกที่มีอยู่อย่างพอดี ซึ่งคล้ายกับ "100%" ยกเว้นว่าระบบจะใช้ขนาดผลลัพธ์กับกล่องขอบขององค์ประกอบแทนกล่องที่ระบุโดย box-sizing การใช้คีย์เวิร์ดนี้จะช่วยให้องค์ประกอบ รักษามาร์จินไว้ได้ในขณะที่ยังคงมีขนาดใหญ่ที่สุดเท่าที่จะเป็นไปได้ -webkit-fill-available เวอร์ชันที่ไม่มีคำนำหน้า

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

ตัวแปร env ของ CSS สำหรับการปรับขนาดแบบอักษรระดับระบบปฏิบัติการ

แสดงขนาดแบบอักษรที่ผู้ใช้ต้องการต่อ CSS หากไม่มีการตั้งค่านี้ หน้าเว็บจะตรวจหาได้ยากว่าผู้ใช้ได้เปลี่ยนขนาดแบบอักษรที่ต้องการโดยใช้ค่ากำหนดของระบบปฏิบัติการหรือไม่ ตัวแปรสภาพแวดล้อม CSS นี้จะแสดง สเกลที่ผู้ใช้เลือก

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

อุปกรณ์

Web Serial ผ่านบลูทูธใน Android

ฟีเจอร์นี้ช่วยให้หน้าเว็บและเว็บแอปเชื่อมต่อกับพอร์ตอนุกรมผ่าน บลูทูธในอุปกรณ์ Android ได้

ตอนนี้ Chrome ใน Android รองรับ Web Serial API ผ่าน Bluetooth RFCOMM แล้ว นโยบายขององค์กรที่มีอยู่ (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls และ SerialBlockedForUrls) ใน แพลตฟอร์มอื่นๆ จะเปิดใช้ในสถานะ future_on สำหรับ Android ระบบจะเปิดใช้นโยบายทั้งหมด ยกเว้น SerialAllowUsbDevicesForUrls หลังจากเปิดใช้ฟีเจอร์ SerialAllowUsbDevicesForUrls จะเปิดใช้ในการเปิดตัวในอนาคตหลังจากที่ Android รองรับพอร์ตอนุกรมแบบมีสายในระดับระบบ

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

Viewport Segments Enumeration API

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

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

JavaScript

อัปเดต QuotaExceededError เป็นอินเทอร์เฟซที่ได้จาก DOMException

ก่อนหน้านี้ เมื่อแพลตฟอร์มเว็บต้องการแจ้งให้คุณทราบเมื่อใช้โควต้าเกิน แพลตฟอร์มจะใช้ DOMException โดยตั้งค่าพร็อพเพอร์ตี้ name ที่เฉพาะเจาะจงเป็น QuotaExceededError อย่างไรก็ตาม วิธีนี้ไม่อนุญาตให้ส่งข้อมูลเพิ่มเติม

ซึ่งเสนอให้ลบ "QuotaExceededError" ออกจากรายการชื่อ DOMException ในตัว และสร้างชื่อคลาส QuotaExceededError จากรายการ DOMException ในตัวแทน และมีพร็อพเพอร์ตี้เพิ่มเติมที่ไม่บังคับ quota และ requested เราขอเสนอให้มีการอัปเกรดอินสแตนซ์ทั้งหมดของข้อกำหนดที่ทำให้เกิด "QuotaExceededError" DOMExceptions ให้เป็น QuotaExceededErrors แทน ในตอนนี้ สเปคดังกล่าวจะปล่อยให้พร็อพเพอร์ตี้ quota และ requested มีค่าเริ่มต้นเป็น null แต่ในที่สุดก็อาจอัปเกรดให้รวมข้อมูลดังกล่าวได้ หากเป็นประโยชน์ต่อกรณีการใช้งาน (และไม่ใช่การรั่วไหลของข้อมูลส่วนตัว เป็นต้น)

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

Web API

Translator API

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

เอกสาร MDN | ข้อบกพร่องในการติดตาม #322229993 | รายการใน ChromeStatus.com | ข้อกำหนด

Language Detector API

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

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

เอกสาร MDN | รายการใน ChromeStatus.com | ข้อกำหนด

Summarizer API

Summarizer API เป็น JavaScript API สำหรับสร้างสรุปของข้อความที่ป้อน โดยมีโมเดลภาษา AI เป็นตัวขับเคลื่อน เบราว์เซอร์และระบบปฏิบัติการต่างๆ คาดว่าจะได้รับสิทธิ์เข้าถึงโมเดลภาษามากขึ้น การเปิดเผยโมเดลในตัวนี้ช่วยให้เรา หลีกเลี่ยงการที่ทุกเว็บไซต์ต้องดาวน์โหลดโมเดลภาษาขนาดหลายกิกะไบต์ของตนเอง หรือส่งข้อความอินพุตไปยัง API ของบุคคลที่สาม โดยเฉพาะอย่างยิ่ง Summarizer API จะแสดง API ระดับสูงสำหรับการเชื่อมต่อกับโมเดลภาษาเพื่อสรุป อินพุตสำหรับ Use Case ที่หลากหลาย (GitHub) ในลักษณะที่ไม่ขึ้นอยู่กับ โมเดลภาษาที่เฉพาะเจาะจง นโยบายองค์กร (GenAILocalFoundationalModelSettings) พร้อมใช้งานเพื่อปิดใช้การดาวน์โหลดโมเดลพื้นฐาน ซึ่งจะทำให้ API นี้ใช้งานไม่ได้

เอกสาร MDN | ข้อบกพร่องในการติดตาม #351744634 | รายการใน ChromeStatus.com | ข้อกำหนด

หลีกเลี่ยง < และ > ในแอตทริบิวต์เมื่อทำการซีเรียลไลซ์

หลีกเลี่ยง < และ > ในค่าของแอตทริบิวต์เมื่อทำการซีเรียลไลซ์

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

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

Crash Reporting API: is_top_level และ visibility_state

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

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

เริ่มเหตุการณ์ pushsubscriptionchange เมื่อมีการสมัครใช้บริการอีกครั้ง

เรียกใช้เหตุการณ์ pushsubscriptionchange ใน Service Worker เมื่อมีการให้สิทธิ์การแจ้งเตือนอีกครั้งสำหรับต้นทางที่เคยมีการสมัครใช้บริการพุชในอดีต แต่ถูกเพิกถอนเนื่องจากการเปลี่ยนแปลงสิทธิ์ (จากได้รับอนุญาตเป็นปฏิเสธ/ค่าเริ่มต้น)

ระบบจะทริกเกอร์เหตุการณ์โดยมี oldSubscription และ newSubscription ที่ว่างเปล่า

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

มัลติมีเดีย

เพิ่มการรองรับข้อมูลเมตาการวางแนวเฟรมวิดีโอลงใน WebCodecs

แนะนำค่า rotation: int และ flip: bool ให้กับอินเทอร์เฟซต่างๆ ที่เกี่ยวข้องกับวิดีโอใน WebCodecs เพื่อให้นักพัฒนาซอฟต์แวร์สามารถทำงานกับแหล่งที่มาของเฟรมที่มีการวางแนว (เช่น กล้อง Android, สื่อบางอย่าง)

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

VideoDecoderConfig ออบเจ็กต์จะมีฟิลด์การหมุนและการพลิกซึ่งจะปล่อยออกมาในออบเจ็กต์ VideoFrame ที่ถอดรหัสแล้วโดยอัตโนมัติ

คลาส VideoEncoder จะมีกลไกในการส่งต่อข้อมูลการหมุนและการพลิก จาก encode() ไปยัง VideoDecoderConfig ที่ปล่อยออกมาเป็นส่วนหนึ่งของ EncodedVideoChunkMetadata หากเรียกใช้ encode() กับเฟรมที่มีการวางแนวต่างกัน ระบบจะแสดงข้อยกเว้นที่ไม่ร้ายแรง configure() ใช้เพื่อ รีเซ็ตการวางแนวที่อนุญาตได้

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

ประสิทธิภาพ

เพิ่ม prefetchCache และ prerenderCache ในส่วนหัวของ Clear-Site-Data

ค่าใหม่ 2 ค่าสำหรับส่วนหัว Clear-Site-Data เพื่อช่วยให้นักพัฒนาแอปกำหนดเป้าหมายการล้างแคชการแสดงผลล่วงหน้าและการดึงข้อมูลล่วงหน้าได้ ได้แก่ "prefetchCache" และ "prerenderCache"

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

กฎการคาดเดา: ฟิลด์ target_hint

ซึ่งจะขยายไวยากรณ์กฎการคาดเดาเพื่อให้นักพัฒนาแอประบุฟิลด์ target_hint ได้

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

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

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

ความปลอดภัย

นโยบายความสมบูรณ์สำหรับสคริปต์

Subresource-Integrity (SRI) ช่วยให้นักพัฒนาแอปมั่นใจได้ว่าชิ้นงานที่ต้องการโหลดเป็นชิ้นงานที่กำลังโหลดจริง แต่ปัจจุบันยังไม่มีวิธีที่นักพัฒนาจะมั่นใจได้ว่าสคริปต์ทั้งหมดได้รับการตรวจสอบโดยใช้ SRI

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

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

Service Worker

การรองรับ ServiceWorker สำหรับการดึงข้อมูล Speculation Rules ล่วงหน้า

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

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

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

WebGPU: เลิกใช้งานแอตทริบิวต์ GPUAdapter isFallbackAdapter

เลิกใช้งานแอตทริบิวต์บูลีน GPUAdapter isFallbackAdapter จาก WebGPU ซึ่งซ้ำซ้อนกับแอตทริบิวต์บูลีน GPUAdapterInfo isFallbackAdapter

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

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

เลิกใช้งานการนำช่วงแบบไม่พร้อมกันออกสำหรับส่วนขยายแหล่งที่มาของสื่อ

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

  • SourceBuffer.abort() จะไม่ยกเลิกการดำเนินการ SourceBuffer.remove() อีกต่อไป
  • การตั้งค่า MediaSource.duration จะตัดสื่อที่บัฟเฟอร์อยู่ในปัจจุบันไม่ได้อีกต่อไป

ตอนนี้ระบบจะยกเว้นในทั้ง 2 กรณีนี้

Safari และ Firefox มีลักษณะการทำงานนี้มานานแล้ว Chromium เป็นเบราว์เซอร์สุดท้าย ที่ยังคงมีลักษณะการทำงานแบบเดิม ใช้ตัวนับเพื่อแสดงว่าการโหลดหน้าเว็บประมาณ 0.001%-0.005% มีลักษณะการทำงานที่เลิกใช้งานแล้ว หากเว็บไซต์พบปัญหานี้ การเล่นอาจหยุดชะงัก

การใช้abort()การยกเลิกการนำออกเพิ่มขึ้น ดังนั้นจึงควรแก้ไข การเลิกใช้งานนี้ก่อนที่จะมีการใช้งานที่ไม่เข้ากันมากขึ้น

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