Ngày phát hành phiên bản ổn định: Ngày 4 tháng 2 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 133 dành cho Android, ChromeOS, Linux, macOS và Windows.
HTML và DOM
Giá trị gợi ý của thuộc tính cửa sổ bật lên
API Popover chỉ định hành vi cho hai giá trị của thuộc tính popover: tự động và thủ công. Tính năng này mô tả giá trị thứ ba, popover=hint
. Gợi ý, thường được liên kết với các hành vi loại "mẹo công cụ", có hành vi hơi khác. Điểm khác biệt chính là gợi ý phụ thuộc vào chế độ tự động khi mở các ngăn xếp lồng nhau của cửa sổ bật lên. Vì vậy, bạn có thể mở một cửa sổ bật lên gợi ý không liên quan trong khi ngăn xếp hiện có của các cửa sổ bật lên tự động vẫn mở.
Ví dụ chuẩn là bộ chọn <select>
đang mở (popover=auto
) và chú giải công cụ được kích hoạt bằng thao tác di chuột (popover=hint
) sẽ hiển thị. Thao tác đó không đóng bộ chọn <select>
.
Theo dõi lỗi #1416284 | Mục nhập ChromeStatus.com
Cải thiện trình gọi cửa sổ bật lên và vị trí neo
Thêm một cách bắt buộc để thiết lập mối quan hệ của phương thức gọi giữa các cửa sổ bật lên bằng popover.showPopover({source})
. Cho phép mối quan hệ trình gọi tạo các tệp đối chiếu phần tử neo ngầm ẩn.
Theo dõi lỗi #364669918 | Mục nhập ChromeStatus.com
Cửa sổ bật lên lồng trong trình gọi không được gọi lại
Trong trường hợp sau, việc nhấp vào nút sẽ kích hoạt đúng cách cửa sổ bật lên. Tuy nhiên, việc nhấp vào chính cửa sổ bật lên sau đó sẽ không đóng cửa sổ bật lên.
<button popovertarget=foo>Activate
<div popover id=foo>Clicking me shouldn't close me</div>
</button>
Trước đây, điều này xảy ra vì bong bóng nhấp vào cửa sổ bật lên chuyển đến <button>
và kích hoạt trình gọi, giúp bật/tắt cửa sổ bật lên. Hành vi này hiện đã được thay đổi thành hành vi dự kiến.
Theo dõi lỗi #https://crbug.com/379241451 | Mục nhập ChromeStatus.com
CSS
Hàm attr()
nâng cao của CSS
Triển khai tính năng mở rộng cho attr()
được chỉ định trong CSS cấp 5, cho phép các loại ngoài <string>
và sử dụng trong tất cả các thuộc tính CSS (ngoài tính năng hỗ trợ hiện có cho nội dung phần tử giả).
MDN attr() | Theo dõi lỗi #246571 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Lớp giả lập :open
CSS
Lớp giả :open
khớp với <dialog>
và <details>
khi các lớp này ở trạng thái mở, đồng thời khớp với <select>
và <input>
khi các lớp này ở chế độ có bộ chọn và bộ chọn đang hiển thị.
Theo dõi lỗi #324293874 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Truy vấn vùng chứa trạng thái cuộn CSS
Sử dụng truy vấn vùng chứa để tạo kiểu cho các phần tử con của vùng chứa dựa trên trạng thái cuộn của chúng.
Vùng chứa truy vấn là vùng chứa cuộn hoặc một phần tử chịu ảnh hưởng của vị trí cuộn của vùng chứa cuộn. Bạn có thể truy vấn các trạng thái sau:
stuck
: Vùng chứa được đặt cố định được gắn vào một trong các cạnh của hộp cuộn.snapped
: Vùng chứa được căn chỉnh tính năng cuộn nhanh hiện đang được chụp nhanh theo chiều ngang hoặc dọc.scrollable
: Liệu có thể cuộn vùng chứa cuộn theo hướng đã truy vấn hay không.
Một loại vùng chứa mới: scroll-state
cho phép truy vấn các vùng chứa.
Theo dõi lỗi #40268059 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
CSS text-box
, text-box-trim
và text-box-edge
Để đạt được sự cân bằng tối ưu cho nội dung văn bản, các thuộc tính text-box-trim
và text-box-edge, cùng với thuộc tính viết tắt text-box, giúp bạn kiểm soát tốt hơn việc căn chỉnh theo chiều dọc của văn bản.
Thuộc tính text-box-trim
chỉ định các cạnh cần cắt, ở trên hoặc ở dưới, còn thuộc tính text-box-edge
chỉ định cách cắt cạnh.
Các thuộc tính này cho phép bạn kiểm soát khoảng cách theo chiều dọc một cách chính xác bằng cách sử dụng các chỉ số phông chữ.
Theo dõi lỗi #1411581 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
API web
Animation.overallProgress
Cung cấp cho nhà phát triển thông tin trình bày thuận tiện và nhất quán về mức độ tiến triển của ảnh động trong các lần lặp lại, bất kể bản chất của tiến trình. Nếu không có thuộc tính overallProgress
, bạn cần tính toán thủ công mức độ tiến triển của ảnh động, tính đến số lần lặp lại của ảnh động và liệu currentTime
của ảnh động có phải là tỷ lệ phần trăm tổng thời gian (như trong trường hợp ảnh động do cuộn) hay là một lượng thời gian tuyệt đối (như trong trường hợp ảnh động do thời gian) hay không.
Theo dõi lỗi #40914396 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Phương thức pause()
của đối tượng Atomics
Thêm phương thức pause()
vào đối tượng không gian tên Atomics
để gợi ý cho CPU rằng mã hiện tại đang thực thi một spinlock.
Mục trên ChromeStatus.com | Thông số kỹ thuật
Báo cáo hàm băm CSP cho tập lệnh
Các ứng dụng web phức tạp thường cần theo dõi các tài nguyên phụ mà chúng tải xuống, vì mục đích bảo mật.
Cụ thể, các tiêu chuẩn và phương pháp hay nhất sắp tới trong ngành (ví dụ: PCI-DSS phiên bản 4) yêu cầu các ứng dụng web phải lưu giữ khoảng không quảng cáo của tất cả các tập lệnh mà chúng tải xuống và thực thi.
Tính năng này được xây dựng dựa trên CSP và API Báo cáo để báo cáo URL và hàm băm (dành cho CORS/cùng nguồn gốc) của tất cả tài nguyên tập lệnh mà tài liệu tải.
Theo dõi lỗi #377830102 | Mục nhập ChromeStatus.com
Di chuyển giữ nguyên trạng thái DOM
Thêm một phần tử DOM gốc (Node.prototype.moveBefore
) cho phép bạn di chuyển các phần tử xung quanh cây DOM mà không cần đặt lại trạng thái của phần tử.
Khi di chuyển thay vì xoá và chèn, trạng thái sau đây sẽ được giữ nguyên:
- Các phần tử
<iframe>
vẫn được tải. - Phần tử đang hoạt động vẫn là tiêu điểm.
- Cửa sổ bật lên, toàn màn hình và hộp thoại phương thức vẫn mở.
- Hiệu ứng chuyển đổi và ảnh động CSS tiếp tục.
Hiển thị thuộc tính attributionsrc
trên <area>
.
Điều chỉnh mức độ hiển thị của thuộc tính attributionsrc
trên <area>
với hành vi xử lý hiện có của thuộc tính, ngay cả khi thuộc tính đó không được hiển thị.
Ngoài ra, bạn nên hỗ trợ thuộc tính này trên <area>
vì phần tử đó là một nền tảng điều hướng hạng nhất và Chrome đã hỗ trợ thuộc tính này trên các nền tảng khác của <a>
và window.open
.
Theo dõi lỗi #379275911 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Giao diện FileSystemObserver
Giao diện FileSystemObserver
thông báo cho các trang web về những thay đổi đối với hệ thống tệp. Các trang web quan sát những thay đổi đối với các tệp và thư mục mà người dùng đã cấp quyền trước đó, trong thiết bị cục bộ của người dùng hoặc trong Hệ thống tệp bộ chứa (còn gọi là Hệ thống tệp riêng của nguồn gốc) và được thông báo về thông tin thay đổi cơ bản, chẳng hạn như loại thay đổi.
Theo dõi lỗi #40105284 | Mục nhập ChromeStatus.com
Nhiều bản đồ nhập
Bản đồ nhập hiện phải tải trước mọi mô-đun ES và mỗi tài liệu chỉ có thể có một bản đồ nhập. Điều đó khiến chúng dễ bị hỏng và có thể bị chậm khi sử dụng trong các tình huống thực tế: Bất kỳ mô-đun nào tải trước chúng đều làm hỏng toàn bộ ứng dụng và trong các ứng dụng có nhiều mô-đun, chúng trở thành một tài nguyên chặn lớn, vì toàn bộ bản đồ cho tất cả mô-đun có thể cần tải trước.
Tính năng này cho phép nhiều bản đồ nhập cho mỗi tài liệu, bằng cách hợp nhất các bản đồ đó theo cách nhất quán và có thể xác định.
Tiêu đề truy cập bộ nhớ
Cung cấp một cách thay thế để các phần nhúng đã xác thực chọn sử dụng cookie không phân vùng. Các tiêu đề này cho biết liệu cookie chưa được phân vùng có (hoặc có thể) được đưa vào một yêu cầu mạng nhất định hay không, đồng thời cho phép máy chủ kích hoạt các quyền "truy cập bộ nhớ" mà chúng đã được cấp. Việc cung cấp một cách khác để kích hoạt quyền "truy cập bộ nhớ" cho phép các tài nguyên không phải iframe sử dụng và có thể giảm độ trễ cho các phần nhúng đã xác thực.
Theo dõi lỗi #329698698 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Hỗ trợ tạo ClipboardItem
bằng Promise<DOMString>
ClipboardItem
(dữ liệu đầu vào cho phương thức write()
của bảng nhớ tạm không đồng bộ) hiện chấp nhận các giá trị chuỗi ngoài Blob trong hàm khởi tạo. ClipboardItemData
có thể là một Blob, một chuỗi hoặc một Lời hứa phân giải thành một Blob hoặc một chuỗi.
Theo dõi lỗi #40766145 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
WebAssembly Memory64
Đề xuất memory64 bổ sung tính năng hỗ trợ cho bộ nhớ WebAssembly tuyến tính có kích thước lớn hơn 2^32 bit. Phiên bản này không cung cấp hướng dẫn mới mà mở rộng hướng dẫn hiện có để cho phép các chỉ mục 64 bit cho bộ nhớ và bảng.
Mục trên ChromeStatus.com | Thông số kỹ thuật
API xác thực web: phương thức PublicKeyCredential
getClientCapabilities()
Phương thức PublicKeyCredential
getClientCapabilities()
cho phép bạn xác định những tính năng WebAuthn mà ứng dụng của người dùng hỗ trợ. Phương thức này trả về danh sách các chức năng được hỗ trợ, cho phép nhà phát triển điều chỉnh trải nghiệm xác thực và quy trình làm việc dựa trên chức năng cụ thể của ứng dụng.
Theo dõi lỗi #360327828 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Thuật toán X25519 của API Web Cryptography
Thuật toán "X25519" cung cấp các công cụ để thực hiện thoả thuận khoá bằng hàm X25519 được chỉ định trong [RFC7748]. Bạn có thể sử dụng giá trị nhận dạng thuật toán "X25519" trong giao diện SubtleCrypto để truy cập vào các thao tác đã triển khai: generateKey, importKey, exportKey, deriveKey và deriveBits.
Theo dõi lỗi #378856322 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Hiệu suất
Lỗi treo khi bật Trình tiết kiệm pin
Khi Trình tiết kiệm pin đang hoạt động, Chrome sẽ đóng băng một "nhóm ngữ cảnh duyệt web" đã bị ẩn và im lặng trong hơn 5 phút nếu bất kỳ nhóm con nào của các khung cùng nguồn gốc trong đó vượt quá ngưỡng sử dụng CPU, trừ phi nhóm con đó:
- Cung cấp chức năng hội nghị âm thanh hoặc video (được phát hiện bằng cách xác định micrô, máy ảnh hoặc tính năng quay màn hình/cửa sổ/thẻ hoặc RTCPeerConnection có RTCDataChannel "mở" hoặc MediaStreamTrack "trực tiếp").
- Điều khiển một thiết bị bên ngoài (được phát hiện khi sử dụng WebUSB, Web Bluetooth, WebHID hoặc Web Serial).
- Giữ Khoá web hoặc kết nối IndexedDB chặn bản cập nhật phiên bản hoặc giao dịch trên một kết nối khác.
- Tình trạng treo bao gồm việc tạm dừng quá trình thực thi. Lớp này được xác định chính thức trong API Vòng đời trang.
Ngưỡng sử dụng CPU sẽ được điều chỉnh để đóng băng khoảng 10% số thẻ ở chế độ nền khi Trình tiết kiệm pin đang hoạt động.
Theo dõi lỗi #325954772 | Mục nhập ChromeStatus.com
Hiển thị renderTime
trên nhiều nguồn gốc thô trong thời gian phần tử và LCP (bất kể Timing-Allow-Origin
)
Thời gian của phần tử và mục nhập LCP có thuộc tính renderTime
, được căn chỉnh với khung hình đầu tiên mà hình ảnh hoặc văn bản được vẽ.
Thuộc tính này hiện được bảo vệ cho hình ảnh trên nhiều nguồn bằng cách yêu cầu tiêu đề Timing-Allow-Origin
trên tài nguyên hình ảnh. Tuy nhiên, bạn có thể dễ dàng khắc phục quy định hạn chế đó (ví dụ: bằng cách hiển thị hình ảnh cùng nguồn gốc và hình ảnh khác nguồn gốc trong cùng một khung).
Vì đây là nguồn gây nhầm lẫn, nên chúng tôi dự định xoá quy định hạn chế này và tăng tất cả thời gian kết xuất thêm 4 mili giây khi tài liệu không được tách biệt giữa các nguồn gốc. Điều này có vẻ đủ thô để tránh rò rỉ bất kỳ thông tin hữu ích nào về thời gian giải mã về hình ảnh trên nhiều nguồn gốc.
Theo dõi lỗi #373263977 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Huỷ bỏ responseStart
và giới thiệu firstResponseHeadersStart
Khi bạn bật tính năng Gợi ý sớm 103, các phản hồi sẽ có hai dấu thời gian:
- Khi Gợi ý sớm đến (103)
- Khi tiêu đề cuối cùng đến (ví dụ: 200)
- Khi Chrome 115 phát hành
firstInterimResponseStart
để cho phép đo lường hai dấu thời gian này, chúng tôi cũng thay đổi ý nghĩa củaresponseStart
(do Thời gian tải byte đầu tiên (TTFB) sử dụng) thành "các tiêu đề cuối cùng". Điều này đã gây ra vấn đề về khả năng tương thích với web đối với các trình duyệt và công cụ không thực hiện thay đổi tương tự đối với chỉ số thường dùng này.
Chrome 133 sẽ huỷ thay đổi responseStart
này để giải quyết vấn đề về khả năng tương thích và thay vào đó sẽ giới thiệu firstResponseHeadersStart
để cho phép các trang web đo lường thời gian đến tiêu đề cuối cùng, đồng thời giữ nguyên định nghĩa ban đầu của TTFB.
Theo dõi lỗi #40251053 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Kết xuất và đồ hoạ
WebGPU: Định dạng đỉnh 1 thành phần (và unorm8x4-bgra)
Thêm các định dạng đỉnh bổ sung không có trong bản phát hành đầu tiên của WebGPU do thiếu tính năng hỗ trợ hoặc các phiên bản macOS cũ (không còn được trình duyệt nào hỗ trợ nữa). Định dạng đỉnh 1 thành phần cho phép các ứng dụng chỉ yêu cầu dữ liệu cần thiết, trong khi trước đây, các ứng dụng phải yêu cầu ít nhất gấp đôi dữ liệu cho các loại dữ liệu 8 và 16 bit. Định dạng unorm8x4-bgra giúp bạn tải màu đỉnh được mã hoá BGRA một cách thuận tiện hơn một chút trong khi vẫn giữ nguyên chương trình đổ bóng.
Theo dõi lỗi #376924407 | Mục nhập ChromeStatus.com
Bản dùng thử theo nguyên gốc
Chọn không sử dụng tính năng đóng băng khi bật Trình tiết kiệm pin
Bản dùng thử chọn không tham gia này cho phép các trang web chọn không tham gia hành vi đóng băng khi bật Trình tiết kiệm pin trong Chrome 133.
Origin Trial | Theo dõi lỗi #325954772 | Mục nhập ChromeStatus.com | Spec
Mục tiêu tham chiếu cho ARIA trên nhiều gốc
Mục tiêu tham chiếu là một tính năng cho phép sử dụng các thuộc tính IDREF như for
và aria-labelledby
để tham chiếu đến các phần tử bên trong DOM tối của một thành phần, đồng thời duy trì việc đóng gói các chi tiết nội bộ của DOM tối. Mục tiêu chính của tính năng này là cho phép ARIA hoạt động trên các ranh giới gốc bóng.
Một thành phần có thể chỉ định một phần tử trong cây bóng để đóng vai trò là "mục tiêu tham chiếu". Khi thành phần lưu trữ là mục tiêu của một IDREF như thuộc tính for
của nhãn, mục tiêu tham chiếu sẽ trở thành mục tiêu hiệu quả của nhãn.
Gốc bóng chỉ định mã nhận dạng của phần tử mục tiêu bên trong DOM bóng. Bạn có thể thực hiện việc này trong JavaScript bằng thuộc tính referenceTarget
trên đối tượng ShadowRoot
hoặc trong mã đánh dấu HTML bằng thuộc tính shadowrootreferencetarget
trên phần tử <template>
.
Origin Trial | Mục nhập ChromeStatus.com
Ngừng sử dụng và xoá
Ngừng sử dụng giới hạn WebGPU maxInterStageShaderComponents
maxInterStageShaderComponents limit
không được dùng nữa do nhiều yếu tố. Ngày dự kiến xoá trong Chrome 135.
- 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 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 với những điểm khác biệt nhỏ, họ có thể tập trung vàomaxInterStageShaderVariables
được đặt tên phù hợp và toàn diện hơn.
Xoá quy tắc 5 phút của <link rel=prefetch>
Trước đây, khi một tài nguyên được tìm nạp trước bằng <link rel=prefetch>
, Chrome sẽ bỏ qua ngữ nghĩa của bộ nhớ đệm (cụ thể là max-age
và no-cache
) trong lần sử dụng đầu tiên trong vòng 5 phút để tránh tìm nạp lại. Giờ đây, Chrome sẽ xoá trường hợp đặc biệt này và sử dụng ngữ nghĩa bộ nhớ đệm HTTP thông thường.
Điều này có nghĩa là nhà phát triển web cần thêm các tiêu đề lưu vào bộ nhớ đệm thích hợp (Cache-Control hoặc Expires) để thấy được lợi ích của <link rel=prefetch>
.
Điều này cũng ảnh hưởng đến <link rel=prerender>
không chuẩn.
Theo dõi lỗi #40232065 | Mục nhập ChromeStatus.com
Xoá tính năng kích hoạt trang Chào mừng của Chrome bằng các thẻ chạy lần đầu theo lựa chọn ưu tiên ban đầu
Việc đưa chrome://welcome
vào thuộc tính first_run_tabs
của tệp initial_preferences
hiện sẽ không có hiệu lực. Trang này bị xoá vì trang đó không cần thiết với Trải nghiệm chạy lần đầu được kích hoạt trên các nền tảng máy tính.