Chrome 116 phiên bản thử nghiệm

Đường dẫn chuyển động CSS, API bộ nhớ đệm cho thao tác tiến/lùi Notkhôi phục API, hình ảnh trong hình của tài liệu, v.v.

Trừ phi có ghi chú khác, những thay đổi được mô tả sẽ áp dụng cho bản phát hành kênh thử nghiệm Chrome mới nhất dành cho Android, ChromeOS, Linux, macOS và Windows. Tìm hiểu thêm về các tính năng nêu tại đây thông qua đường liên kết đi kèm hoặc trong danh sách trên ChromeStatus.com. Chrome 116 là phiên bản beta kể từ ngày 19 tháng 7 năm 2023. Bạn có thể tải phiên bản mới nhất xuống từ Google.com cho máy tính hoặc trên Cửa hàng Google Play trên Android.

CSS

Bản phát hành này bổ sung hai tính năng mới của Dịch vụ so sánh giá (CSS).

Đường dẫn chuyển động CSS

Đường dẫn chuyển động cho phép tác giả định vị bất kỳ đối tượng đồ họa nào và tạo ảnh động cho đối tượng đó dọc theo đường dẫn mà nhà phát triển chỉ định. Điều này mang đến một số khả năng biến đổi mới mạnh mẽ, chẳng hạn như định vị bằng toạ độ cực (bằng hàm ray()) thay vì toạ độ hình chữ nhật tiêu chuẩn mà hàm translate() sử dụng, hoặc tạo ảnh động cho một phần tử dọc theo một đường dẫn đã xác định. Điều này giúp bạn dễ dàng xác định các hiệu ứng chuyển đổi không gian 2D phức tạp và đẹp mắt. Bạn có thể chỉ định đường dẫn dưới dạng circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray()url().

Ảnh động hiển thị và chế độ hiển thị nội dung

Chrome 116 hỗ trợ các thuộc tính displaycontent-visibility trong ảnh động của khung hình chính. Tính năng hỗ trợ này cho phép nhà phát triển tạo ảnh động thoát mà sau đó phần tử sẽ tự động trở thành display: none hoặc content-visibility: hidden mà không cần phải viết bất kỳ JavaScript nào để xử lý việc chuyển đổi đó sau khi ảnh động hoàn tất. Điều này cho phép ảnh động thoát cho các phần tử chỉ được thêm vào trong CSS.

API web

AbortSignal.any()

Trả về một tín hiệu bị huỷ khi bất kỳ tín hiệu nguồn nào bị huỷ. Nhà phát triển có thể sử dụng tính năng này để kết hợp các nguồn độc lập (ví dụ: thời gian chờ được chỉ định bằng AbortSignal.timeout()) và các tín hiệu liên kết với một abortController, đồng thời truyền chúng đến các API không đồng bộ như fetch().

Hỗ trợ BYOB cho Tìm nạp

Việc triển khai ReadableStream của Chrome hỗ trợ trình đọc bring-your-own-buffer (BYOB) cho các luồng byte có thể đọc được. Hiện tại, Response.body cũng là một luồng byte đọc được thay vì một luồng có thể đọc được "mặc định". Việc này cho phép sử dụng Fetch API với máy đọc BYOB, giảm chi phí thu gom rác và bản sao, cũng như cải thiện khả năng phản hồi cho người dùng. Blob.stream() hiện cũng được hưởng lợi từ tính năng tối ưu hoá này.

API bộ nhớ đệm cho thao tác tiến/lùi

API NotrecoveryReason sẽ báo cáo danh sách lý do tại sao một trang không được phân phát từ BFcache trong cấu trúc cây khung, thông qua API PerformanceNavigationTiming.

Hình trong hình của tài liệu

Hình trong hình của tài liệu thêm một API mới để mở cửa sổ luôn ở trên cùng có thể được điền sẵn HTMLElements tuỳ ý. Đây là bản mở rộng dựa trên API HTMLVideoElement hiện có chỉ cho phép đặt HTMLVideoElement vào cửa sổ Hình trong hình (PiP). Nhờ đó, nhà phát triển web có thể cải thiện trải nghiệm Hình trong hình cho người dùng.

Ký tự đại diện mở rộng trong nguồn gốc chính sách về quyền

Ký tự đại diện của miền con trong danh sách cho phép mang đến một số tính linh hoạt hữu ích. Tuy nhiên, nó khác với các trình phân tích cú pháp ký tự đại diện hiện có và hoạt động bắt buộc phải có mã và thông số kỹ thuật mới. Ý định này sẽ giảm mức hao tổn tài nguyên đó bằng cách sử dụng lại các phần của quy cách hiện tại của Chính sách bảo mật nội dung, đồng thời cho phép scheme + wildcard domainwildcard port trong danh sách cho phép. Cụ thể, ý định này sẽ áp dụng định nghĩa của nguồn máy chủ và nguồn giao thức thay vì nguồn gốc trong định nghĩa Danh sách cho phép, đồng thời yêu cầu phần đường dẫn phải trống (vì Chính sách về quyền áp dụng cho các nguồn gốc trùng khớp).

Gói FedCM: API Gợi ý đăng nhập, API Thông tin người dùng và API ngữ cảnh RP

Bản cập nhật đi kèm này cho phép tuỳ chỉnh các quy trình đăng nhập liên kết có sử dụng API Quản lý thông tin xác thực liên kết (FedCM).

Với API Gợi ý đăng nhập, bên phụ thuộc (RP) có thể chỉ định gợi ý về tài khoản người dùng họ muốn hiển thị trong giao diện người dùng FedCM. Điều này chủ yếu được dùng để cung cấp trải nghiệm người dùng tốt hơn cho người dùng cũ.

API thông tin người dùng cho phép nhà cung cấp danh tính (IdP) tìm nạp thông tin người dùng để có thể cá nhân hoá trải nghiệm đăng nhập cho người dùng cũ, chẳng hạn như thông qua nút "Đăng nhập bằng IdP" được cá nhân hoá.

Với RP Context API, RP có thể yêu cầu hộp thoại FedCM thay thế tiêu đề "Sign in" (Đăng nhập) bằng "Sign up" (Đăng ký), "Use" (Sử dụng) hoặc "Continue" (Tiếp tục) để điều chỉnh ý định thực tế cho người dùng.

Sự kiện vào/rời khỏi Chuột và Con trỏ không kết hợp

Đảm bảo thuộc tính event.composed trong các sự kiện mouseenter, mouseleave, pointerenterpointerleave "false" tuân thủ quy cách và khắc phục sự thiếu hụt về khả năng tương tác. Cả thông số Sự kiện giao diện người dùng cho Sự kiện chuột và thông số Sự kiện con trỏ đều xác định các sự kiện này là không kết hợp. Ngoài việc giải quyết khoảng cách tương tác, thay đổi này cũng sửa lỗi gửi hai hoặc ba lần không chính xác các sự kiện này đến máy chủ DOM bóng trong Chromium khi DOM bóng cũng nghe sự kiện.

Xoá kế thừa hộp cát document.open

Hiện tại, cờ Hộp cát của phương thức gọi đang áp dụng cho hàm được gọi khi document.open nhắm mục tiêu đến một cửa sổ khác. Sau thay đổi này, kết quả sẽ không còn như trước nữa.

Báo cáo Quan trọng-CH đã gây ra tình trạng khởi động lại trong NavigationTiming

Các trang web có thể cho biết rằng một Gợi ý ứng dụng cụ thể rất quan trọng đối với trang bằng cách đưa vào tiêu đề phản hồi HTTP Critical-CH. Làm như vậy sẽ kích hoạt quá trình khởi động lại kết nối nếu gợi ý được liệt kê trong tiêu đề phản hồi HTTP Critical-CH có thể (nhưng không) có trong yêu cầu HTTP được gửi ban đầu. Ý định này đề xuất thêm readonly attribute DOMHighResTimeStamp criticalCHRestart; vào giao diện PerformanceNavigationTiming.

Đang chạy bản dùng thử theo nguyên gốc

Trong Chrome 116, bạn có thể chọn tham gia các bản dùng thử theo nguyên gốc mới sau đây.

COOP: thuộc tính hạn chế

Cross-Origin-Opener-Policy được dùng để cắt bỏ mối quan hệ giữa cửa sổ bật lên và trình mở để tăng tính bảo mật. "restrict-properties" là một giá trị được đề xuất nhằm hạn chế mối quan hệ này thay vì cắt bỏ hoàn toàn mối quan hệ đó. Chế độ này sẽ bật crossOriginIsolated khi ghép nối với COEP.

Đăng ký dùng thử theo nguyên gốc hạn chế đối với thuộc tính COOP.

API trạng thái đăng nhập của FedCM

API trạng thái đăng nhập IdP của API quản lý thông tin xác thực liên kết (FedCM) cho phép nhà cung cấp danh tính (IdP) báo hiệu cho trình duyệt khi người dùng của họ đăng nhập/đăng xuất để FedCM có thể nâng cao các thuộc tính quyền riêng tư bằng cách tối ưu hoá trải nghiệm người dùng.

Đăng ký bản dùng thử theo nguyên gốc Trạng thái đăng nhập của FedCM

API EditContext

API EditContext giúp đơn giản hoá quá trình tích hợp ứng dụng web với các phương thức nhập văn bản nâng cao như viết hình dạng VK, bảng điều khiển viết tay, nhận dạng lời nói và Thành phần IME. API này cải thiện khả năng hỗ trợ tiếp cận và hiệu suất, đồng thời mở ra các chức năng mới cho trình chỉnh sửa dựa trên nền tảng web.

Đăng ký bản dùng thử theo nguyên gốc API EditContext

Thời gian khung hình động dài

Đây là phần mở rộng của các tác vụ dài. Lớp này đo lường tác vụ cùng với lần cập nhật kết xuất tiếp theo, thêm thông tin như các tập lệnh chạy trong thời gian dài, thời gian kết xuất và thời gian dành cho bố cục và kiểu bắt buộc, được gọi là đập bố cục.

Các nhà phát triển có thể dùng kết quả này để chẩn đoán "độ chậm", được đo bằng INP, bằng cách tìm nguyên nhân gây ra tình trạng nghẽn luồng chính (thường là nguyên nhân dẫn đến INP) không tốt.

Đăng ký bản dùng thử theo nguyên gốc Long Animation Frame Timing