Chrome 149 เบต้า

เผยแพร่เมื่อ: 6 พฤษภาคม 2026

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

CSS และ UI

นำกฎ CSS ของสไตล์ชีต UA สำหรับสีเส้นขอบที่ชัดเจนสำหรับตารางออก

การเปลี่ยนแปลงนี้จะนำกฎ CSS border-color: gray ที่ไม่ถูกต้องออกจากสไตล์ชีต UA สำหรับองค์ประกอบ <table>

ข้อกำหนด HTML ไม่มีกฎนี้ และทำให้เส้นขอบไม่ใช้ currentColor เป็นค่าเริ่มต้นอย่างไม่ถูกต้อง ทั้ง Firefox และ Webkit ไม่มีกฎสีเส้นขอบ gray นี้ในสไตล์ชีต UA ซึ่งนำไปสู่ปัญหาการทำงานร่วมกัน

รองรับ path() และ shape() ใน shape-outside

เพิ่มการรองรับฟังก์ชันรูปร่าง path() และ shape() ในพร็อพเพอร์ตี้ `shape-outside` ของ CSS ฟังก์ชันเหล่านี้ช่วยให้นักพัฒนาแอปกำหนดรูปร่างของ shape-outside ได้อย่างยืดหยุ่นมากขึ้นและรองรับภาพเคลื่อนไหว

อัปเดตเมื่อวันที่ 7 มิถุนายน 2026 เพื่อแก้ไขคำอธิบายที่ก่อนหน้านี้อ้างถึงการใช้พิกัดสี่เหลี่ยมผืนผ้า

รองรับ rect() และ xywh() ใน shape-outside

เพิ่มการรองรับฟังก์ชันรูปร่างพื้นฐาน rect() และ xywh() ในพร็อพเพอร์ตี้ shape-outside ของ CSS ฟังก์ชันเหล่านี้ช่วยให้นักพัฒนาแอปกำหนดรูปร่างการยกเว้นการลอยโดยใช้พิกัดสี่เหลี่ยมผืนผ้า ซึ่งทำให้ Chrome สอดคล้องกับ Firefox และ Safari ที่รองรับฟีเจอร์นี้อยู่แล้ว

สีเฉพาะจุดของระบบขอบเขตเว็บแอป

จำกัดการเข้าถึงสีเฉพาะจุดของระบบสำหรับคีย์เวิร์ด CSS และ accent-color: auto ให้อยู่ภายในเว็บแอปและบริบทโปรไฟล์เริ่มต้นเท่านั้น

คีย์เวิร์ด CSS AccentColor และ AccentColorText ก่อให้เกิดเวกเตอร์การระบุตัวตนที่สำคัญ เมื่อเปิดเผยสีของระบบของผู้ใช้ในเว็บอย่างกว้างขวาง ดังนั้น คีย์เวิร์ดเหล่านี้จึงใช้ได้ในบริบทของเว็บแอปที่ติดตั้งเท่านั้น การควบคุมแบบฟอร์มที่มี accent-color: auto จะตรงกับขอบเขตนี้ด้วยเมื่อเปิดตัวฟีเจอร์นี้ ซึ่งจะทำให้เกิดความคาดหวังที่สอดคล้องกันมากขึ้นสำหรับนักพัฒนาแอปและผู้ใช้เกี่ยวกับสีของระบบ และสอดคล้องกับข้อจำกัดการระบุตัวตนสำหรับ AccentColor[Text]

ตัดข้อความที่ล้นออกเมื่อผู้ใช้โต้ตอบ

เมื่อผู้ใช้โต้ตอบ (แก้ไขหรือการนำทางด้วยเคอร์เซอร์ข้อความ) กับข้อความที่มีการตั้งค่า text-overflow: ellipsis ข้อความจะเปลี่ยนจากจุดไข่ปลาเป็นตัดชั่วคราวเพื่อให้ผู้ใช้เห็นและโต้ตอบกับเนื้อหาที่ล้นซึ่งซ่อนอยู่ ฟีเจอร์นี้ใช้ได้กับองค์ประกอบทั้งหมดที่แก้ไขได้และแก้ไขไม่ได้ สำหรับตัวควบคุมแบบฟอร์ม (textarea, input) ระบบรองรับลักษณะการทำงานนี้อยู่แล้ว

การตกแต่งช่องว่าง CSS

การตกแต่งช่องว่าง CSS ช่วยให้คุณจัดรูปแบบช่องว่างในเลย์เอาต์คอนเทนเนอร์ เช่น กริดและ Flexbox ได้คล้ายกับ column-rule ในเลย์เอาต์หลายคอลัมน์ นักพัฒนาเว็บขอฟีเจอร์นี้มาเป็นจำนวนมาก เนื่องจากปัจจุบันต้องใช้การแก้ไขเพื่อจัดรูปแบบช่องว่างในเลย์เอาต์กริดและ Flexbox

image-rendering: crisp-edges

image-rendering: crisp-edges ระบุว่าควรปรับขนาดรูปภาพในลักษณะที่รักษาคอนทราสต์และขอบไว้ และหลีกเลี่ยงการปรับสีให้เรียบหรือทำให้รูปภาพเบลอในกระบวนการ

ขอบเขตเลเยอร์บนสุดของคลาสเทียมสำหรับการดำเนินการของผู้ใช้

ฟีเจอร์นี้แสดงลักษณะการทำงานที่อธิบายไว้ใน ข้อกำหนด CSS Selectors ระดับ 4, ซึ่งระบุว่า :hover, :active, และ :focus-within จะตรงกับองค์ประกอบหลัก ขององค์ประกอบ แต่เฉพาะองค์ประกอบเลเยอร์บนสุดแรกในเชนหลักเท่านั้น การเปลี่ยนแปลงสำหรับ Chromium จะใช้ข้อจำกัดนี้กับองค์ประกอบเลเยอร์บนสุด

โดยเฉพาะอย่างยิ่ง หมายความว่าในโครงสร้างต่อไปนี้ หากผู้ใช้วางเมาส์เหนือ <button>, คลาสเทียม :hover จะตรงกับ <button> และป๊อปโอเวอร์ แต่ จะไม่ตรงกับองค์ประกอบ <main>

<main>
  <div popover>
    <button></button>
  </div>
</main>
<script>document.querySelector('[popover]').showPopover();</script>

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

การใช้งานการเลือกที่ปรับแต่งได้ซึ่งเผยแพร่ใน Chromium มีตรรกะนี้ฮาร์ดโค้ดไว้สำหรับกรณีเฉพาะของป๊อปโอเวอร์ ::picker() ของการเลือก ระบบจะนำตรรกะกรณีพิเศษนั้นออกเพื่อใช้ลักษณะการทำงานทั่วไปมากขึ้นด้วยฟีเจอร์นี้

รองรับ path-length เป็นพร็อพเพอร์ตี้ CSS

การเปลี่ยนแปลงนี้จะแนะนำพร็อพเพอร์ตี้ CSS ใหม่ path-length ซึ่งแมปกับแอตทริบิวต์การนำเสนอ pathLength ของ SVG ที่มีอยู่ โดยใช้ได้กับองค์ประกอบเรขาคณิตของ SVG ที่รองรับ pathLength (รวมถึง <path>, <circle>, <rect>, <line>, <polyline>, <polygon>, และ <ellipse>)

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

การประกาศ CSS จะลบล้างแอตทริบิวต์การนำเสนอตามกฎลำดับความสำคัญของ CSS มาตรฐาน ค่าเริ่มต้นของ path-length คือ none ซึ่งแสดงถึงความยาวเส้นทางที่ผู้เขียนไม่ได้ระบุไว้และแตกต่างจากค่าตัวเลขที่ชัดเจน เช่น 0

ระบบจะเก็บลักษณะการทำงานที่มีเฉพาะแอตทริบิวต์ไว้เมื่อปิดใช้ฟีเจอร์

Web API

Intl.Locale.prototype.variants

เพิ่ม Intl.Locale.prototype.variants ตามที่ระบุไว้ใน ข้อเสนอ TC39 และยอมรับ "variants" ในชุดตัวเลือกใน Intl.Locale constructor เช่นเดียวกับการ อัปเดตรหัสภาษา TC39 การเปลี่ยนแปลง ECMA402 จะผสานรวม ใน Pull Request 960 และโค้ดทดสอบใน test262 จะ ผสานรวมใน Pull Request 4474

สัญญาการเลื่อนแบบเป็นโปรแกรม

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

คำขอการชำระเงิน: อนุญาตให้เครื่องจัดการการชำระเงินรายงานข้อผิดพลาดภายใน

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

Web-based Payment Handler API สามารถระบุความแตกต่างนี้ได้โดยอิงตามข้อผิดพลาดที่ใช้ปฏิเสธ Promise ที่ส่งไปยัง PaymentRequestEvent.respondWith หากสัญญาถูกปฏิเสธด้วย OperationError ระบบจะแสดง "ข้อผิดพลาดภายในของแอป" (OperationError) ให้ผู้ขายโดยใช้วิธี PaymentRequest.show() ไม่เช่นนั้นระบบจะแสดง "ผู้ใช้ยกเลิก" (AbortError)

โครงสร้างพื้นฐานของเครื่องจัดการการชำระเงินของแอปเนทีฟได้รับการอัปเดตในลักษณะเดียวกัน แต่ไม่อยู่ในขอบเขตของ Web API

ใช้ autocorrect="off" สำหรับแป้นพิมพ์สัมผัสของ Windows ใน TSF

แอตทริบิวต์ autocorrect ของ HTML ช่วยให้ผู้เขียนเว็บควบคุมได้ว่าจะใช้การแก้ไขอัตโนมัติกับข้อมูลจากผู้ใช้ในองค์ประกอบที่แก้ไขได้ ซึ่งรวมถึง <input>, <textarea>, และโฮสต์ที่แก้ไขเนื้อหาได้หรือไม่ ใน Windows แป้นพิมพ์สัมผัสจะละเว้นแอตทริบิวต์นี้และแก้ไขคำอัตโนมัติเสมอ เช่น การพิมพ์ "truf" ตามด้วยการเว้นวรรคในองค์ประกอบที่มี autocorrect="off" จะแสดงผล "true " แทนที่จะเก็บ "truf " ไว้ ฟีเจอร์นี้ทำให้การผสานรวม TSF ของ Chrome ตรวจหาและยกเลิกการแก้ไขอัตโนมัติของแป้นพิมพ์สัมผัสเมื่อองค์ประกอบที่แก้ไขได้ซึ่งโฟกัสอยู่ มีการตั้งค่า autocorrect="off"

ยกเลิกการเชื่อมต่อ WebSocket เมื่อเข้าสู่ bfcache

การเชื่อมต่อ WebSocket ที่ใช้งานอยู่จะไม่ป้องกันไม่ให้หน้าเว็บเข้าสู่ Back/Forward Cache (bfcache) อีกต่อไป การปิดการเชื่อมต่อเมื่อเข้าสู่ bfcache แทนที่จะทำเครื่องหมายเอกสารว่าไม่มีสิทธิ์ ทำให้เบราว์เซอร์จัดเก็บและกู้คืนหน้าเว็บที่มี WebSocket ที่ใช้งานอยู่ได้

แอตทริบิวต์ Request.isReloadNavigation

เพิ่มแอตทริบิวต์บูลีนแบบอ่านอย่างเดียว isReloadNavigation ลงในอินเทอร์เฟซ Request ของ Fetch API แอตทริบิวต์นี้ระบุว่าคำขอการนำทางปัจจุบันเริ่มต้นเป็นการโหลดซ้ำที่ผู้ใช้ทริกเกอร์หรือไม่ (เช่น ใช้ปุ่มรีเฟรช, location.reload() หรือ history.go(0)) สัญญาณนี้จะแสดงในออบเจ็กต์ Request ภายใน FetchEvent ของ Service Worker เป็นหลัก

ปิดใช้ฟิลเตอร์ SVG ในปลั๊กอินและ iframe แบบข้ามต้นทางและแบบจำกัด

การเปิดตัวนี้จะป้องกันไม่ให้ใช้ฟิลเตอร์ SVG กับ iframe แบบข้ามต้นทางหรือแบบจำกัด (เช่น iframe ที่ทำแซนด์บ็อกซ์ไว้) และปลั๊กอินที่ฝัง (เช่น PDF) เมื่อเฟรมหรือปลั๊กอินจะแสดงผลด้วยเอฟเฟกต์ฟิลเตอร์ SVG ระบบจะข้ามผ่านทรีเอฟเฟกต์เพื่อค้นหาบรรพบุรุษระดับสูงสุดที่ไม่มีฟิลเตอร์ SVG แล้วใช้เอฟเฟกต์นั้นแทน

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

ใน Chrome 149 คุณสามารถเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้ origin trials

นโยบายสิทธิ์: focus-without-user-activation

ช่วยให้ผู้ฝังควบคุมโฟกัสแบบเป็นโปรแกรมจากเนื้อหาที่ฝังด้วยนโยบายสิทธิ์ focus-without-user-activation เมื่อระบบปฏิเสธนโยบายสำหรับเฟรม ระบบจะบล็อกการเรียกโฟกัสแบบเป็นโปรแกรม (element.focus(), autofocus, window.focus(), dialog.showModal() และการโฟกัสป๊อปโอเวอร์) เว้นแต่จะทริกเกอร์โดยการเปิดใช้งานของผู้ใช้ การโฟกัสที่ผู้ใช้เริ่มต้น เช่น การคลิกหรือการกดแท็บ จะไม่ได้รับผลกระทบ

คุณตั้งค่านโยบายได้โดยใช้ส่วนหัวการตอบกลับ HTTP ของ Permissions-Policy หรือแอตทริบิวต์ allow ของ iframe ระบบรองรับการมอบสิทธิ์โฟกัส โดยเฟรมหลักที่มีโฟกัสสามารถส่งโฟกัสแบบเป็นโปรแกรมไปยัง iframe ย่อยได้ แม้ว่าระบบจะปฏิเสธนโยบายของ iframe ย่อย และเมื่อเฟรมมีโฟกัสแล้ว เฟรมจะย้ายโฟกัสภายในซับทรีของตัวเองได้

API อินพุตที่ขับเคลื่อนด้วยเหตุการณ์ของ Gamepad

ข้อเสนอนี้ขยาย Gamepad API ด้วยโมเดลใหม่ที่ขับเคลื่อนด้วยเหตุการณ์ ซึ่งช่วยให้แอปพลิเคชันรับอินพุตของ Gamepad ได้โดยมีความหน่วงต่ำลง นักพัฒนาแอปสามารถฟังเหตุการณ์ rawgamepadinputchange ซึ่งจะทริกเกอร์เมื่อมีข้อมูลอินพุตใหม่จากอุปกรณ์แทนที่จะอาศัยการโพลบ่อยๆ โดยใช้ navigator.getGamepads() ซึ่งช่วยให้การจัดการอินพุตตอบสนองได้ดียิ่งขึ้น โดยเฉพาะอย่างยิ่งในแอปพลิเคชันที่ไวต่อความหน่วง

ตัวอธิบายที่กำหนดเองของ WebAssembly

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