Chrome 147

Ngày phát hành phiên bản ổn định: Ngày 7 tháng 4 năm 2026

Trừ phi có ghi chú khác, những thay đổi sau đây áp dụng cho bản phát hành kênh ổn định Chrome 147 cho Android, ChromeOS, Linux, macOS và Windows.

CSS và giao diện người dùng

Hiệu ứng chuyển đổi khung hiển thị theo phạm vi phần tử

Hiển thị element.startViewTransition() trên các phần tử HTML tuỳ ý. Phần tử này thiết lập một phạm vi cho hiệu ứng chuyển đổi, nghĩa là các phần tử giả của hiệu ứng chuyển đổi sẽ chịu ảnh hưởng của các đoạn và phép biến đổi của phần tử mẹ, đồng thời nhiều hiệu ứng chuyển đổi trên các phần tử riêng biệt có thể chạy đồng thời.

Lỗi theo dõi số 394052227 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

CSS contrast-color()

Hàm này giúp bạn đáp ứng các yêu cầu về độ tương phản để hỗ trợ tiếp cận.

Bạn có thể dùng hàm contrast-color() ở bất kỳ vị trí nào trong CSS mà giá trị màu được mong đợi. Hàm này lấy một đối số giá trị màu và trả về "black" (màu đen) hoặc "white" (màu trắng), tuỳ thuộc vào màu nào có độ tương phản cao nhất so với đối số màu.

Lỗi theo dõi số 40142548 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Dải ô được đặt tên cho dòng thời gian scroll

Tính năng này mở rộng tập hợp các dải ô được đặt tên cho dòng thời gian của khung hiển thị bằng cách thêm dải ô scroll vào tập hợp hiện có gồm entry, exit, covercontain.

Lỗi theo dõi số 41483848 | Mục nhập ChromeStatus.com | Quy cách

Thuộc tính border-shape của CSS

Thuộc tính border-shape CSS cho phép bạn tạo đường viền không phải hình chữ nhật với bất kỳ hình dạng tuỳ ý nào, chẳng hạn như đa giác, hình tròn hoặc shape().

Mặc dù border-shape chấp nhận các hình dạng giống như clip-path, nhưng về cơ bản, border-shape khác với clip-path. border-shape xác định hình dạng của đường viền, trang trí đường viền và chỉ cắt phần bên trong.

border-shape có hai biến thể: một biến thể tạo đường viền cho hình dạng và một biến thể khác tô màu giữa hai hình dạng.

Lỗi theo dõi số 370041145 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

CSSPseudoElement giao diện

Giao diện CSSPseudoElement đại diện cho một phần tử giả trong JavaScript.

CSSPseudoElement được trả về từ Element.pseudo(type), trong đó type hiện là ::after, ::before hoặc ::marker. CSSPseudoElement là một đối tượng proxy đại diện cho một phần tử giả. Không giống như phần tử giả, CSSPseudoElement luôn tồn tại.

CSSPseudoElement có các thuộc tính và phương thức sau:

  • Thuộc tính type là một chuỗi đại diện cho loại phần tử giả.
  • Thuộc tính element là phần tử nguồn cuối cùng của phần tử giả.
  • Thuộc tính parent là phần tử gốc của phần tử giả (Element hoặc CSSPseudoElement đối với các phần tử giả lồng nhau).
  • Phương thức pseudo(type) truy xuất các phần tử giả lồng nhau.

Lỗi theo dõi số 40639103 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Mục tiêu giả trên các sự kiện

Các sự kiện cụ thể hiện bao gồm .pseudoTarget, có thể là CSSPseudoElement (nếu lượt tương tác là với một phần tử giả) hoặc null.

Điều này cung cấp thông tin cụ thể hơn về nguồn gốc của sự kiện. Ví dụ: điều này cho biết người dùng đã nhấp vào một phần tử giả ::after, chứ không chỉ nhấp vào phần tử nguồn cuối cùng (Event.target). Xin lưu ý rằng Event.target vẫn không thay đổi, vì vậy, sự kiện này chỉ có thêm thông tin về hoạt động tương tác với phần tử giả.

Các sự kiện này là UIEvent, AnimationEventTransitionEvent.

mouseover, mouseout, mouseenter, mouseleave và các pointer* tương ứng chưa được hỗ trợ.

Lỗi theo dõi số 40639103 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Tách các thuộc tính *-width*-style

Chrome 147 tuân theo các quy cách CSS mới cập nhật cho hành vi của các thuộc tính border-width, outline-widthcolumn-rule-width. Trước đây, nếu border-style, outline-style hoặc column-rule-style tương ứng được đặt thành none hoặc hidden, thì chiều rộng được tính của các thuộc tính này sẽ bị buộc thành 0px, bất kể giá trị được chỉ định là bao nhiêu.

Với thay đổi này, các giá trị được tính toán của border-width, outline-widthcolumn-rule-width luôn phản ánh các giá trị do tác giả chỉ định, độc lập với thuộc tính *-style. Ngoài ra, các giá trị đã phân giải (do getComputedStyle() trả về) cho outline-widthcolumn-rule-width cũng phản ánh các giá trị được chỉ định.

Thay đổi này giúp Chrome phù hợp với Firefox và WebKit, vốn đã triển khai hành vi này.

Lỗi theo dõi số 393631108 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Hỗ trợ thuộc tính path trên phần tử <textPath> SVG

Thay đổi này bổ sung khả năng hỗ trợ cho thuộc tính path trên phần tử <textPath> SVG. Điều này cho phép nhà phát triển xác định hình học đường dẫn văn bản cùng dòng bằng cách sử dụng dữ liệu đường dẫn SVG và giảm nhu cầu về các phần tử <path> được xác định riêng biệt.

Phần tử <textPath> phân giải hình học đường dẫn văn bản bằng các quy tắc sau:

  1. Nếu cả pathhref đều xuất hiện, thì hình học sẽ được phân giải từ thuộc tính path.
  2. Nếu chỉ có thuộc tính path và phân tích cú pháp thành công, thì định nghĩa đường dẫn nội tuyến sẽ được dùng.
  3. Nếu thuộc tính path không có hoặc không phân tích cú pháp được và bạn cung cấp thuộc tính href, thì phần tử <path> được tham chiếu sẽ được dùng làm phương án dự phòng.
  4. Hành vi hiện có chỉ có href vẫn được giữ nguyên.

Cách triển khai này tuân theo định nghĩa của quy cách SVG 2 về thuộc tính path trên <textPath>. Hành vi phân giải nhất quán với các công cụ trình duyệt khác, giúp cải thiện khả năng tương tác và tuân thủ các tiêu chuẩn. Lưu ý: Khi cả pathhref đều được chỉ định trên <textPath>, path hiện được ưu tiên theo quy cách SVG 2.

Lỗi theo dõi số 374010056 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Thiết bị

Tính năng phát hiện mặt phẳng WebXR

WebXR Plane Detection API cho phép các trang web truy xuất tập hợp các mặt phẳng được phát hiện trong môi trường của người dùng. Việc này giúp nhà phát triển giảm bớt công việc và hiệu quả hơn so với việc sử dụng tính năng WebXR cảm biến độ sâu. Ví dụ: các mặt phẳng như tường bị che khuất bởi các vật thể vẫn có thể được biểu thị đầy đủ nếu hệ thống nhận biết được ranh giới của bức tường. Bản đồ độ sâu sẽ cho thấy bức tường, nhưng các vật thể phía trước bức tường sẽ làm gián đoạn và có thể che khuất toàn bộ phạm vi của bức tường. Hơn nữa, thông tin gắn nhãn ngữ nghĩa sẽ được hiển thị khi thiết bị nhận biết được những nhãn đó và chúng phù hợp với các danh mục được xác định trước, giúp cung cấp kiến thức tốt hơn về thế giới.

Lỗi theo dõi số 394636076 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

DOM

Thêm chế độ hỗ trợ cho các loại mô-đun JSON và kiểu dưới dạng đích đến <link rel="modulepreload">. <link rel="modulepreload"> đã được hỗ trợ trong Chromium (xem tính năng Chromestatus), nhưng hiện tại, tính năng này chỉ hỗ trợ tải trước các tập lệnh mô-đun giống tập lệnh. Tính năng này giải quyết một khoảng trống về chức năng vì tập lệnh mô-đun JSON và CSS được hỗ trợ ở những nơi khác trong Chromium nhưng không phải là đích đến <link rel="modulepreload">. Bạn có thể tải trước các mô-đun kiểu bằng <link rel="modulepreload" as="style" href="..."> và các mô-đun JSON bằng <link rel="modulepreload" as="json" href="...">.

Lỗi theo dõi số 466888680 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Phân tích cú pháp XML trong Rust cho các trường hợp không phải XSLT

Triển khai trình phân tích cú pháp XML Rust cho các trường hợp không yêu cầu xử lý XSLT.

Trình phân tích cú pháp XML của Rust giúp cải thiện tính bảo mật bằng cách loại bỏ các lỗi hỏng bộ nhớ trong quá trình phân tích cú pháp XML. Thao tác này thay thế việc sử dụng libxml2 (được viết bằng C) bằng một lựa chọn thay thế an toàn.

Chúng tôi sẽ ngừng sử dụng XSLT. Trong khi quá trình này tiếp tục, bạn đã có thể sử dụng tính năng phân tích cú pháp XML Rust an toàn trong các trường hợp không yêu cầu XSLT.

Lỗi theo dõi #466303347 | Mục nhập ChromeStatus.com

Đồ hoạ

Lớp WebXR

WebXR Layers mang đến một cách hiệu quả hơn để vẽ nội dung sống động.

Ngoài việc hỗ trợ các hoạ tiết và mảng hoạ tiết độ sâu cũng như màu sắc tự nhiên, nó còn hỗ trợ nhiều loại lớp mà trình kết hợp hệ thống quản lý (thay vì JavaScript).

Lỗi theo dõi số 409255534 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

JavaScript

Math.sumPrecise

Triển khai đề xuất TC39 để thêm một phương thức nhằm tính tổng nhiều giá trị trong JavaScript.

Thêm phương thức Math.sumPrecise có thể lặp lại. Phương thức này sẽ trả về tổng các giá trị trong đối tượng có thể lặp lại bằng cách sử dụng thuật toán chính xác hơn so với phép tính tổng đơn giản.

Lỗi theo dõi số 374310075 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Mạng / Kết nối

Request.isReloadNavigation thuộc tính

Thêm thuộc tính boolean chỉ có thể đọc isReloadNavigation vào giao diện Request của Fetch API. Thuộc tính này cho biết liệu yêu cầu điều hướng hiện tại có được bắt đầu dưới dạng một lần tải lại do người dùng kích hoạt hay không (ví dụ: bằng cách sử dụng nút Làm mới, location.reload() hoặc history.go(0)). Tín hiệu này chủ yếu được hiển thị trên đối tượng Request trong FetchEvent của Service Worker.

Lỗi theo dõi số 40487194 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Hiệu suất

Cập nhật giới hạn Device Memory API

Cập nhật một nhóm giá trị có thể có mới cho Device Memory API:

  • Android: 1, 2, 4, 8
  • Khác: 2, 4, 8, 16, 32 Các giá trị này thay thế các giá trị cũ là 0, 25, 0,5, 1, 2, 4 và 8 (đã lỗi thời).

Điều này giúp giảm nguy cơ tạo dấu vân tay ở đầu dưới vì khả năng của thiết bị đã được cải thiện kể từ khi các giá trị này được đặt. Điều này cũng giúp sử dụng và phân đoạn các thiết bị cao cấp hiệu quả hơn, theo yêu cầu của nhà phát triển. Để biết thêm thông tin, hãy xem bài viết Sự cố về bộ nhớ thiết bị.

Lỗi theo dõi số 454354290 | Mục nhập ChromeStatus.com | Quy cách

Quyền truy cập mạng cục bộ (LNA)

Để biết thêm thông tin về LNA, hãy xem phần Quyền truy cập mạng cục bộ.

Quy định hạn chế về Quyền truy cập mạng cục bộ đối với trình chạy dịch vụ WindowClient.navigate()

Gần đây, chúng tôi đã thêm các quy định hạn chế về Quyền truy cập mạng cục bộ (LNA) để ngăn các trang web đơn phương gửi yêu cầu đến mạng cục bộ và thiết bị cục bộ. Những hạn chế này được thêm vào cho các yêu cầu tìm nạp do trình chạy dịch vụ khởi tạo nhưng không áp dụng cho các thao tác điều hướng mà trình chạy dịch vụ thực hiện thông qua WindowClient.navigate().

Việc ra mắt này sẽ khắc phục điểm thiếu sót này bằng cách thêm các hạn chế LNA vào các cuộc gọi WindowClient.navigate(). Thư viện này sử dụng WindowClient làm trình khởi tạo hoạt động điều hướng để xác định xem hoạt động điều hướng có phải là yêu cầu LNA hay không.

Điều này chỉ áp dụng nếu WindowClient đang được điều hướng là một khung phụ. Chrome hiện không thực thi bất kỳ hạn chế nào về LNA đối với các thao tác điều hướng khung chính.

Mục nhập trên ChromeStatus.com

Quy định hạn chế về quyền truy cập mạng cục bộ đối với WebTransport

Hạn chế khả năng gửi yêu cầu đến mạng cục bộ của người dùng bằng WebTransport, được bảo vệ bằng một lời nhắc cấp quyền.

Yêu cầu mạng cục bộ là mọi yêu cầu từ một trang web công khai đến địa chỉ IP cục bộ hoặc vòng lặp, hoặc từ một trang web cục bộ (ví dụ: mạng nội bộ) đến vòng lặp. Việc hạn chế khả năng thực hiện các yêu cầu này của trang web bằng một quyền sẽ làm giảm khả năng sử dụng các yêu cầu này của trang web để tạo dấu vân tay cho mạng cục bộ của người dùng.

Quyền này chỉ được cấp trong các bối cảnh bảo mật.

Lỗi theo dõi số 421216834 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Quy định hạn chế về quyền truy cập mạng cục bộ đối với WebSocket

Các quy định hạn chế về Quyền truy cập mạng cục bộ (LNA) sẽ được mở rộng để bao gồm cả WebSocket. Giờ đây, các kết nối WebSockets đến địa chỉ cục bộ sẽ kích hoạt lời nhắc cấp quyền.

Tất cả các chính sách hiện hành của LNA dành cho doanh nghiệp vẫn áp dụng cho các quy định hạn chế về LNA WebSockets (LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrlsLocalNetworkAccessRestrictionsTemporaryOptOut).

Lỗi theo dõi số 421156866 | Mục nhập ChromeStatus.com | Quy cách

Ứng dụng web tách biệt (IWA)

Web Printing API

API này cho phép tích hợp sâu hơn với chức năng liên quan đến máy in trong Ứng dụng web tách biệt.

API này chỉ nhắm đến Ứng dụng web tách biệt và tuân theo quy trình Ứng dụng web tách biệt.

API này cung cấp một bộ phương thức JavaScript cho phép nhà phát triển truy vấn máy in cục bộ, gửi lệnh in đến máy in phù hợp nhất và quản lý các lựa chọn cũng như trạng thái của lệnh in. Để thể hiện những khái niệm này, nó dựa vào tên thuộc tính và ngữ nghĩa từ quy cách Giao thức in qua Internet (IPP).

Lỗi theo dõi số 302505962 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Bản dùng thử theo nguyên gốc

Kết xuất trước các iframe nhiều nguồn gốc

Kết xuất trước các iframe trên nhiều nguồn gốc bằng tiêu đề phản hồi chọn sử dụng.

Giờ đây, các trình duyệt sẽ kết xuất trước tất cả các khung hình trên nhiều nguồn gốc nếu phản hồi HTTP của khung hình cấp cao nhất bao gồm Supports-Loading-Mode: prerender-cross-origin-frames.

Origin Trial | Tracking bug #440387014 | ChromeStatus.com entry | Spec

Sự kiện tự động điền

Tự động điền là một tính năng quan trọng trên web, giúp giảm sự phiền hà cho hàng triệu người dùng mỗi ngày. Tuy nhiên, để tính năng tự động điền hoạt động một cách đáng tin cậy với các biểu mẫu động trên nhiều cách triển khai, bạn cần phải nỗ lực đáng kể.

Tính năng này thêm một sự kiện autofill cho phép nhà phát triển sửa đổi biểu mẫu của họ để phù hợp với dữ liệu được điền sẵn và thông báo cho trình duyệt khi họ đã thực hiện việc này.

Origin Trial | Tracking bug #466333215 | ChromeStatus.com entry | Spec

WebNN

WebNN cho phép các ứng dụng và khung web tận dụng các dịch vụ hệ điều hành gốc để học máy và các chức năng phần cứng cơ bản có trên máy tính của người dùng. Điều này giúp triển khai các trải nghiệm nhất quán, hiệu quả và đáng tin cậy về học máy trên web.

Origin Trial | Tracking bug #40206287 | ChromeStatus.com entry | Spec

Bản không dùng nữa và việc xoá

Xoá XSLT nội tuyến để tạo SVG

Một tệp XML được tạo đặc biệt có thể chứa một biểu định kiểu XSL giúp chuyển đổi dữ liệu XML chung thành tệp SVG.

Ví dụ: xem gist.github.com.

Đây là một trường hợp đặc biệt của quá trình xử lý XSLT mà theo các bộ đếm lượt sử dụng XSLPIInSVGImage (UseCounter ID 5777) và XSLPIInSVGStandaloneDoc (UseCounter ID 5778) mới được giới thiệu, chúng tôi cho rằng trường hợp này hầu như không tồn tại trên web. Chúng tôi muốn ngừng sử dụng và xoá tính năng này trước khi loại bỏ hoàn toàn XSLT.

Việc này diễn ra đồng thời với quá trình thử nghiệm trình phân tích cú pháp XML dựa trên Rust. Việc này sẽ không được triển khai ngay lập tức cho 100% người dùng trong Chrome 147.

Lỗi theo dõi #482223009 | Mục nhập ChromeStatus.com