Chrome 135

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

Trừ khi có ghi chú khác, các thay đổi sau đây sẽ áp dụng cho bản phát hành kênh chính thức Chrome 135 dành cho Android, ChromeOS, Linux, macOS và Windows.

HTML và DOM

Lệnh của phương thức gọi; thuộc tính command và commandfor

Thuộc tính commandcommandfor trên phần tử <button> cho phép bạn gán hành vi cho các nút theo cách dễ tiếp cận và khai báo hơn.

Theo dõi lỗi #1490919 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Thêm tính năng hỗ trợ cho <link rel="facilitated-payment" href="..."> dưới dạng gợi ý rằng trình duyệt sẽ thông báo cho ứng dụng thanh toán đã đăng ký về một khoản thanh toán đẩy đang chờ xử lý.

Theo dõi lỗi #1477049 | Mục nhập ChromeStatus.com

CSS

Phần tử giả ::column cho băng chuyền

Phần tử giả ::column, cho phép áp dụng một tập hợp kiểu giới hạn cho các mảnh được tạo. Cụ thể, việc này sẽ chỉ giới hạn ở những kiểu không ảnh hưởng đến bố cục và do đó có thể được áp dụng sau bố cục.

Mục nhập ChromeStatus.com

Phần tử mô phỏng ::scroll-button()

Cho phép tạo các nút cuộn tương tác dưới dạng phần tử giả, ví dụ:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Các nút này phải có thể lấy tiêu điểm, hoạt động như một nút (bao gồm cả kiểu UA). Khi được kích hoạt, thao tác cuộn sẽ được thực hiện theo hướng một lượng nhất định. Khi không thể cuộn theo hướng đó, các nút này sẽ bị tắt (và được tạo kiểu bằng :disabled), nếu không thì các nút này sẽ được bật (và được tạo kiểu bằng :enabled).

Bộ chọn cho phép bạn xác định các nút theo 4 hướng logic: block-start, block-end, inline-start, inline-end; cũng như 4 hướng thực: up, down, left, right.

Theo dõi lỗi #370067113 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

::scroll-marker::scroll-marker-group

Thêm phần tử giả ::scroll-marker::scroll-marker-group cho vùng chứa cuộn. Các thành phần này cho phép bạn tạo một tập hợp các điểm đánh dấu có thể lấy tiêu điểm cho tất cả các mục được liên kết trong vùng chứa cuộn.

Theo dõi lỗi #332396355 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Tính chất trơ của CSS – thuộc tính interactivity

Thuộc tính interactivity chỉ định xem một phần tử và các phần tử con cây phẳng của phần tử đó (bao gồm cả các dòng văn bản) có bất động hay không.

Việc đặt một phần tử ở trạng thái không hoạt động sẽ ảnh hưởng đến việc phần tử đó có thể được lấy làm tâm điểm, chỉnh sửa, chọn và tìm kiếm bằng tính năng tìm kiếm trên trang hay không. Điều này cũng ảnh hưởng đến việc thành phần hiển thị trong cây hỗ trợ tiếp cận hay không.

Mục trên ChromeStatus.com | Thông số kỹ thuật

Lỗi tràn logic CSS

Thuộc tính CSS overflow-inlineoverflow-block cho phép đặt chế độ tràn trong cùng dòng và hướng khối tương ứng với chế độ viết. Trong chế độ viết ngang, overflow-inline liên kết đến overflow-x, trong khi ở chế độ viết dọc, overflow-inline liên kết đến overflow-y.

Theo dõi lỗi #41489999 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Vị trí neo CSS ghi nhớ độ lệch cuộn

Thêm tính năng hỗ trợ cho khái niệm độ lệch cuộn đã ghi nhớ.

Khi một phần tử được định vị có một neo mặc định và được liên kết với neo này ở một cạnh và với khối chứa ban đầu ở cạnh còn lại, thì độ lệch cuộn sẽ được tính đến khi xác định kích thước phần tử. Bằng cách này, bạn có thể sử dụng tất cả không gian hiển thị (sử dụng position-area) cho phần tử được neo khi cuộn tài liệu ở một độ lệch cuộn nhất định.

Để tránh bố cục (đổi kích thước phần tử) mỗi khi cuộn tài liệu (đây là hành vi không mong muốn và cũng gây hại cho hiệu suất), bạn sẽ sử dụng "giá trị bù cuộn đã ghi nhớ" thay vì luôn sử dụng giá trị bù cuộn hiện tại. Độ lệch cuộn được ghi nhớ được cập nhật tại một "điểm tính toán lại neo", tức là:

  • Khi phần tử được định vị hiển thị ban đầu.
  • Khi bạn chọn một tuỳ chọn vị trí khác (position-try-fallbacks).

Theo dõi lỗi #373874012 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Hàm shape() của CSS

Hàm shape() cho phép các hình dạng dạng tự do thích ứng trong clip-path.

Bạn có thể xác định một loạt động từ, gần tương đương với các động từ trong path(), nhưng các động từ này chấp nhận các đơn vị thích ứng (chẳng hạn như % hoặc vw), cũng như mọi giá trị CSS như các thuộc tính tuỳ chỉnh.

Theo dõi lỗi #40829059 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Biến safe-area-max-inset-*

Tính năng này thêm các biến max-area-safe-inset-* không thay đổi và thể hiện phần lồng ghép vùng an toàn tối đa có thể.

Trường hợp sử dụng mà tính năng này giải quyết là tránh việc cần bố trí lại trang trong trường hợp chân trang (ví dụ) chỉ có thể trượt khi giá trị lồng ghép vùng an toàn tăng lên, thay vì thay đổi kích thước.

Theo dõi lỗi #391621941 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Định kiểu phần tử giả lồng nhau

Cho phép tạo kiểu cho các phần tử giả được lồng bên trong các phần tử giả khác. Cho đến nay, tính năng hỗ trợ được xác định cho:

  • ::before::marker
  • ::after::marker

Với ::column::scroll-marker được hỗ trợ trong tương lai.

Theo dõi lỗi #373478544 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Âm thanh và video

Thêm tính năng hỗ trợ MediaStreamTrack vào API lời nói trên web

Thêm tính năng hỗ trợ MediaStreamTrack vào API Web Speech.

Web Speech API là một API chuẩn web cho phép nhà phát triển tích hợp tính năng nhận dạng và tổng hợp lời nói vào trang web của họ. Hiện tại, Web Speech API sử dụng micrô mặc định của người dùng làm đầu vào âm thanh. Tính năng hỗ trợ MediaStreamTrack cho phép các trang web sử dụng API Web Speech để tạo phụ đề cho các nguồn âm thanh khác, bao gồm cả các bản âm thanh từ xa.

Mục trên ChromeStatus.com | Thông số kỹ thuật

API web

Tạo ứng dụng trình chạy dịch vụ và kế thừa trình điều khiển trình chạy dịch vụ cho iframe srcdoc

Các tài liệu ngữ cảnh Srcdoc hiện không phải là ứng dụng trình chạy dịch vụ và không thuộc phạm vi của trình chạy dịch vụ mẹ. Điều đó dẫn đến một số khác biệt (ví dụ: tính năng Thời gian tải tài nguyên báo cáo các URL mà các tài liệu này tải, nhưng worker dịch vụ không chặn các URL đó). Thay đổi này nhằm khắc phục sự khác biệt bằng cách tạo ứng dụng trình chạy dịch vụ cho iframe srcdoc và khiến các ứng dụng đó kế thừa trình điều khiển trình chạy dịch vụ của thành phần mẹ.

Theo dõi lỗi #41411856 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Phản chiếu phần tử

Tính năng này cho phép các thuộc tính mối quan hệ ARIA được phản ánh trong IDL dưới dạng tham chiếu phần tử thay vì DOMStrings.

Thao tác này triển khai các thuộc tính IDL trong giao diện ARIAMixin với loại Phần tử hoặc FrozenArray<Element>, ngoại trừ ariaOwnsElements.

Theo dõi lỗi #981423 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Khung được khoanh vùng: Hỗ trợ dữ liệu tự động trên nhiều nguồn gốc của beacon

Khung được khoanh vùng hoặc iframe URN, nếu được tải thông qua một API như Protected Audience hoặc Shared Storage, có thể tự động gửi beacon báo cáo nếu một số sự kiện xảy ra (hiện chỉ hỗ trợ beacon điều hướng cấp cao nhất). Tính năng này trước đây đã được cập nhật để cho phép các tài liệu đa nguồn gốc được tải trong cây của khung được khoanh vùng gốc gửi beacon tự động nếu bạn chọn sử dụng, nhưng vẫn giữ nguyên quy định hạn chế là chỉ những khung có cùng nguồn gốc với nguồn gốc do API tải mới có thể đặt dữ liệu sẽ được gửi dưới dạng một phần của beacon. Tính năng này mở rộng chức năng đó để cho phép tài liệu trên nhiều nguồn gốc đặt dữ liệu sẽ được sử dụng trong beacon tự động.

Để cho phép việc này mà vẫn đảm bảo quyền riêng tư, cả tài liệu gốc của khung được bảo vệ và tài liệu khung con trên nhiều nguồn gốc đều phải chọn sử dụng một cách rõ ràng. Đây là hình thức chọn sử dụng giống như các tính năng FFAR khác trên nhiều nguồn gốc. Cụ thể, khung gốc phải chọn sử dụng tiêu đề Allow-Fenced-Frame-Automatic-Beacons và khung con nhiều nguồn gốc thiết lập dữ liệu phải chọn sử dụng thông số crossOriginExposed trong lệnh gọi đến setReportEvent().

Mục trên ChromeStatus.com | Thông số kỹ thuật

Float16Array

Thêm mảng đã nhập Float16Array. Các giá trị số được làm tròn thành IEEE fp16 khi ghi vào các thực thể Float16Array.

Theo dõi lỗi #42203953 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Tính năng ngăn chặn theo dõi HSTS

Giảm thiểu hoạt động theo dõi người dùng của bên thứ ba bằng cách sử dụng bộ nhớ đệm HSTS.

Tính năng này chỉ cho phép nâng cấp HSTS cho các thao tác điều hướng cấp cao nhất và chặn việc nâng cấp HSTS cho các yêu cầu tài nguyên phụ. Việc này khiến các trang web bên thứ ba không thể sử dụng bộ nhớ đệm HSTS để theo dõi người dùng trên web.

Theo dõi lỗi #40725781 | Mục nhập ChromeStatus.com

Khi một Phần tử (Element) khởi tạo thao tác điều hướng (ví dụ: bằng một lượt nhấp vào đường liên kết hoặc một lượt gửi biểu mẫu), thuộc tính sourceElement trên NavigateEvent sẽ là phần tử khởi tạo.

Theo dõi lỗi #40281924 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Thay đổi tên lý do API NotRestoredReasons

API NotRestoredReasons đang thay đổi một số văn bản lý do để phù hợp với tên được chuẩn hoá. Nếu đang theo dõi những lý do này, bạn có thể nhận thấy văn bản lý do thay đổi.

Theo dõi lỗi #331754704 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

API có thể quan sát

Đối tượng có thể quan sát là một mô hình lập trình phản ứng phổ biến để xử lý luồng sự kiện không đồng bộ dựa trên phương thức đẩy. Bạn có thể coi chúng là Lời hứa nhưng dành cho nhiều sự kiện và nhằm thực hiện những gì Lời hứa đã làm cho các lệnh gọi lại và lồng nhau. Tức là chúng cho phép xử lý sự kiện một cách tiện lợi bằng cách cung cấp một đối tượng Observable đại diện cho luồng sự kiện không đồng bộ.

Bạn có thể đăng ký đối tượng để nhận các sự kiện khi chúng đến và gọi bất kỳ toán tử hoặc bộ kết hợp nào của đối tượng đó để mô tả một cách khai báo luồng chuyển đổi mà các sự kiện đi qua. Điều này trái ngược với phiên bản mệnh lệnh, thường yêu cầu lồng ghép phức tạp với các thành phần như addEventListener().

Theo dõi lỗi #1485981 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Xoá việc kẹp setInterval(...) thành >= 1 mili giây

Trước Chrome 135, setInterval có giá trị nhỏ hơn 1 sẽ được cố định ở mức 1. Kể từ Chrome 135, quy định hạn chế này sẽ bị xoá.

  • Trước: setInterval(..., 0) = độ trễ 1ms.
  • Sau: setInterval(..., 0) = độ trễ 0ms.

Theo dõi lỗi #41380458 | Mục nhập ChromeStatus.com

URL ứng dụng của Worker dịch vụ bỏ qua các thay đổi history.pushState()

Sửa đổi thuộc tính Client.url của worker dịch vụ để bỏ qua các thay đổi về URL của tài liệu bằng history.pushState() và các API nhật ký tương tự khác. Thuộc tính Client.url được dùng làm URL tạo của tài liệu HTML, bỏ qua những thay đổi như vậy.

Theo dõi lỗi #41337436 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Hỗ trợ các thuộc tính relrelList cho SVGAElement

Giao diện SVGAElement trong SVG 2.0 cho phép thao tác với các phần tử <a> tương tự như các phần tử neo HTML. Việc hỗ trợ các thuộc tính relrelList giúp tăng cường bảo mật và quyền riêng tư cho nhà phát triển.

Việc căn chỉnh này với các phần tử neo HTML đảm bảo tính nhất quán và dễ sử dụng trên các công nghệ web.

Theo dõi lỗi #40589293 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Dấu thời gian cho Khung được mã hoá RTC

Tính năng này bao gồm việc hiển thị cho Web một số dấu thời gian có trong các khung được mã hoá WebRTC được truyền bằng RTCPeerConnection. Dấu thời gian có liên quan là:

  • Dấu thời gian chụp: Dấu thời gian khi một khung hình được chụp ban đầu.
  • Dấu thời gian nhận: Dấu thời gian khi nhận được một khung hình.

Theo dõi lỗi #391114797 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Cập nhật tiêu đề, nội dung yêu cầu HTTP và chính sách liên kết giới thiệu trên lệnh chuyển hướng CORS

Cập nhật yêu cầu HTTP trên lệnh chuyển hướng CORS bằng cách xoá request-body-headers và body nếu phương thức đã thay đổi, đồng thời cập nhật chính sách liên kết giới thiệu. Các bản cập nhật yêu cầu này phù hợp với thông số kỹ thuật của tính năng Tìm nạp và khớp với hành vi do Firefox và Safari triển khai để cải thiện khả năng tương thích.

Theo dõi lỗi #40686262 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

API fetchLater

fetchLater() là một API JavaScript để yêu cầu tìm nạp bị trì hoãn. Sau khi được gọi trong một tài liệu, yêu cầu bị trì hoãn sẽ được trình duyệt đưa vào hàng đợi ở trạng thái ĐANG CHỜ và sẽ được gọi theo điều kiện sớm nhất trong số các điều kiện sau:

  • Tài liệu bị huỷ.
  • Sau một khoảng thời gian do người dùng chỉ định. Vì lý do liên quan đến quyền riêng tư, tất cả các yêu cầu đang chờ xử lý sẽ bị xoá khi tài liệu vào bfcache bất kể còn bao nhiêu thời gian.
  • Trình duyệt sẽ quyết định thời điểm gửi.

API trả về một FetchLaterResult chứa trường boolean "đã kích hoạt" có thể được cập nhật để cho biết liệu yêu cầu bị trì hoãn đã được gửi hay chưa. Khi gửi thành công, trình duyệt sẽ bỏ qua toàn bộ nội dung phản hồi, bao gồm cả nội dung và tiêu đề. Bạn không nên xử lý hoặc cập nhật gì cả vì trang đó có thể đã bị xoá.

Xin lưu ý rằng theo quan điểm của người dùng API, thời gian gửi chính xác là không xác định.

Theo dõi lỗi #1465781 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

API highlightsFromPoint

API highlightsFromPoint cho phép nhà phát triển tương tác với các điểm nổi bật tuỳ chỉnh bằng cách phát hiện những điểm nổi bật tồn tại tại một điểm cụ thể trong tài liệu. Tính tương tác này rất có giá trị đối với các tính năng web phức tạp, trong đó nhiều điểm nổi bật có thể chồng chéo hoặc tồn tại trong DOM bóng. Bằng cách cung cấp tính năng phát hiện điểm nổi bật dựa trên điểm chính xác, API giúp nhà phát triển quản lý các hoạt động tương tác động với điểm nổi bật tuỳ chỉnh hiệu quả hơn, chẳng hạn như phản hồi các lượt nhấp của người dùng hoặc sự kiện di chuột trên các vùng được làm nổi bật để kích hoạt chú giải công cụ tuỳ chỉnh, trình đơn theo bối cảnh hoặc các tính năng tương tác khác.

Theo dõi lỗi #365046212 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

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

Thông tin xác thực phiên được liên kết với thiết bị

Một cách để các trang web liên kết một phiên với một thiết bị một cách an toàn.

Phương thức này sẽ cho phép máy chủ liên kết một phiên với một thiết bị một cách an toàn. Trình duyệt sẽ định kỳ gia hạn phiên theo yêu cầu của máy chủ, kèm theo bằng chứng về việc sở hữu khoá riêng tư.

Origin Trial | Mục nhập ChromeStatus.com | Spec

Phương thức gọi mối quan tâm

Tính năng này sẽ thêm thuộc tính interesttarget vào phần tử <button><a>. Thuộc tính interesttarget thêm hành vi "quan tâm" vào phần tử, chẳng hạn như khi người dùng "cho thấy sự quan tâm" đến phần tử, các hành động sẽ được kích hoạt trên phần tử mục tiêu. Các hành động có thể bao gồm những việc như hiển thị một cửa sổ bật lên. Tác nhân người dùng sẽ xử lý việc phát hiện thời điểm người dùng "cho thấy sự quan tâm" đến phần tử — khi di chuột qua phần tử, nhấn phím nóng đặc biệt trên bàn phím hoặc nhấn và giữ phần tử trên màn hình cảm ứng. Khi sự quan tâm xuất hiện hoặc biến mất, InterestEvent sẽ được kích hoạt trên mục tiêu, mục tiêu này có các hành động mặc định trong trường hợp cửa sổ bật lên – hiển thị và ẩn cửa sổ bật lên.

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

Tính toàn vẹn dựa trên chữ ký

Tính năng này cung cấp cho nhà phát triển web một cơ chế để xác minh nguồn gốc của các tài nguyên mà họ phụ thuộc vào đó, tạo nền tảng kỹ thuật để tin tưởng vào các phần phụ thuộc của trang web. Tóm lại: máy chủ có thể ký phản hồi bằng cặp khoá Ed25519 và nhà phát triển web có thể yêu cầu tác nhân người dùng xác minh chữ ký bằng một khoá công khai cụ thể. Điều này bổ sung hữu ích cho các bước kiểm tra dựa trên URL do Chính sách bảo mật nội dung cung cấp, cũng như các bước kiểm tra dựa trên nội dung của tính năng Tính toàn vẹn của tài nguyên phụ.

Origin Trial | Theo dõi lỗi #375224898 | Mục nhập ChromeStatus.com | Spec

Quy tắc suy đoán: trường target_hint

Điều này mở rộng cú pháp quy tắc suy đoán để cho phép nhà phát triển chỉ định trường target_hint.

Trường này cung cấp gợi ý để chỉ báo một mục tiêu có thể điều hướng mà cuối cùng trang được kết xuất trước sẽ được kích hoạt. Ví dụ: khi _blank được chỉ định làm gợi ý, trang được kết xuất trước có thể được kích hoạt cho một trang có thể điều hướng được mở bằng window.open(). Trường này không ảnh hưởng đến tính năng tìm nạp trước.

Thông số kỹ thuật cho phép trường này chấp nhận mọi chuỗi hợp lệ làm tên mục tiêu có thể điều hướng hoặc từ khoá làm giá trị, nhưng lần chạy này chỉ hỗ trợ một trong các chuỗi "_self" hoặc "_blank". Nếu không chỉ định gợi ý, thì gợi ý sẽ được coi là "_self".

Origin Trial | Theo dõi lỗi #40234240 | Mục nhập ChromeStatus.com | Spec

Ngừng sử dụng và xoá

Xoá phương thức navigator.xr.supportsSession không dùng nữa

Phương thức navigator.xr.supportsSession đã được thay thế bằng phương thức navigator.xr.isSessionSupported trong thông số kỹ thuật WebXR vào tháng 9 năm 2019 sau khi nhận được phản hồi về hình dạng API từ TAG. Kể từ đó, API này đã bị đánh dấu là không dùng nữa trong Chromium, tạo ra cảnh báo bảng điều khiển chuyển hướng nhà phát triển đến API đã cập nhật.

Lệnh gọi này có mức sử dụng rất thấp và tất cả các khung chính dùng để tạo nội dung WebXR đều được xác nhận là đã được cập nhật để sử dụng lệnh gọi mới hơn.

Mục trên ChromeStatus.com | Thông số kỹ thuật

Xoá giới hạn WebGPU maxInterStageShaderComponents

Giới hạn maxInterStageShaderComponents đang bị xoá do nhiều yếu tố kết hợp:

  • Tính năng dự phòng với maxInterStageShaderVariables: Giới hạn này đã phục vụ một mục đích tương tự, kiểm soát lượng dữ liệu được truyền giữa các giai đoạn chương trình đổ bóng.
  • Sự chênh lệch nhỏ: Mặc dù có sự khác biệt nhỏ trong cách tính hai giới hạn này, nhưng những sự khác biệt này là nhỏ và có thể được quản lý hiệu quả trong giới hạn maxInterStageShaderVariables.
  • Đơn giản hoá: Việc xoá maxInterStageShaderComponents giúp đơn giản hoá giao diện chương trình đổ bóng và giảm độ phức tạp cho nhà phát triển. Thay vì quản lý hai giới hạn riêng biệt (cả hai đều áp dụng đồng thời nhưng có sự khác biệt nhỏ), họ có thể tập trung vào maxInterStageShaderVariables được đặt tên phù hợp và toàn diện hơn.

Theo dõi lỗi #364338810 | Mục nhập ChromeStatus.com | Thông số kỹ thuật