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

Lồng ghép CSS, cấu trúc ảnh động và thông số gửi cho hàm khởi tạo formData.

Trừ phi có ghi chú khác, những thay đổi được mô tả bên dưới 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 được cung cấp hoặc trong danh sách trên ChromeStatus.com. Chrome 112 là phiên bản beta kể từ ngày 9 tháng 3 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

Lồng ghép CSS

Khả năng lồng các quy tắc kiểu CSS bên trong các quy tắc kiểu khác, kết hợp bộ chọn từ bên ngoài với quy tắc bên trong để tăng tính mô-đun và khả năng bảo trì của biểu định kiểu. Tìm hiểu thêm qua bài viết này về CSS Nesting.

Thuộc tính CSS animation-composition

Thuộc tính animation-composition cho phép sử dụng thông số kỹ thuật của thao tác kết hợp khi nhiều ảnh động ảnh hưởng đến cùng một thuộc tính đồng thời. Xem ví dụ trong bản minh hoạ này.

API web

Thanh thông tin "Tải lại trang này" sẽ không còn hiển thị nếu khung cấp cao nhất phát hiện thấy các thay đổi về quyền

Chặn thanh thông tin "Tải lại trang này" nếu khung cấp cao nhất được đăng ký sự kiện onchange của PermissionStatus. Sự kiện này được coi là dấu hiệu cho biết ứng dụng muốn phản ứng một cách linh động với các thay đổi về quyền máy ảnh hoặc micrô được khởi tạo thông qua hộp thoại thông tin trang. Bất kể trình nghe sự kiện có hiện diện hay không, hành vi sẵn có vẫn không thay đổi, tức là luồng nội dung đa phương tiện sẽ bị chấm dứt ngay sau khi quyền bị thu hồi.

Thêm tham số người gửi không bắt buộc vào hàm khởi tạo FormData

Cho phép truyền nút gửi đến hàm khởi tạo FormData. Nếu nút có tên hoặc là nút hình ảnh, nút đó sẽ đóng góp vào tập dữ liệu biểu mẫu. Nhờ đó, bạn có thể tạo đối tượng FormData có cùng tập dữ liệu khi gửi biểu mẫu bằng vanilla do nút kích hoạt.

Cờ RegExp v với ký hiệu tập hợp và thuộc tính của chuỗi

Thêm toán tử tập hợp, giá trị cố định kiểu chuỗi, lớp lồng ghép và thuộc tính unicode của các chuỗi vào lớp ký tự của biểu thức chính quy. Toán tử đặt và thuộc tính unicode của chuỗi cho phép nhà phát triển dễ dàng tạo biểu thức chính quy khớp với các chuỗi với một số ký tự unicode nhất định.

Ví dụ:/[\p{Script_Extensions=Greek}&&\p{Letter}]/v khớp với tất cả chữ cái Hy Lạp.

Cập nhật thuật toán lấy nét ban đầu <dialog>

Một số thay đổi đã được thực hiện để chọn phần tử được chọn để lấy tiêu điểm khi mở phần tử <dialog>:

  • Đặt các bước lấy tiêu điểm hộp thoại xem xét các phần tử có thể lấy tiêu điểm trên bàn phím thay vì bất kỳ phần tử có thể lấy tiêu điểm nào.
  • Đặt phần tử hộp thoại để lấy tiêu điểm nếu phần tử đó đã được đặt thuộc tính tự động lấy nét.
  • Đặt thành phần hộp thoại làm tâm điểm dưới dạng phương án dự phòng thay vì đặt tiêu điểm là "đặt lại" thành phần tử nội dung.

Lệnh gọi đuôi WebAssembly

Thêm lệnh gọi đuôi rõ ràng và mã lệnh gọi đuôi gián tiếp vào WebAssembly.

WebGLContextEvent trên Web Worker

Loại WebGLContextEvent đã được xác định trong thông số kỹ thuật WebGL của Khronos trong nhiều năm, nhưng chỉ mới được phát hiện gần đây, trong Blink, loại này không được hiển thị trên nhân viên web.

Hầu hết các ứng dụng chỉ thêm trình nghe sự kiện cho kiểu này và không tìm nguyên mẫu của nó trong phạm vi toàn cục. Đây là bản sửa lỗi đơn giản cho mã nhận dạng web của Blink cho WebGLContextEvent, nhưng đây là một thay đổi được hiển thị trên web.

Bỏ qua trình xử lý tìm nạp không hoạt động của trình chạy dịch vụ

Tính năng này giúp bạn nhanh chóng điều hướng các trang có trình xử lý tìm nạp trình chạy dịch vụ không hoạt động bằng cách bỏ qua các trình xử lý này.

Một số trang web sử dụng trình nghe tìm nạp không hoạt động (không có thao tác) (ví dụ: onfetch = () => {}). Vì việc có trình nghe tìm nạp là một trong những yêu cầu để trở thành ứng dụng web tiến bộ (PWA) nên chúng tôi giả định rằng trình nghe đó đã làm cho trang web của họ được nhận dạng là PWA. Tuy nhiên, việc này chỉ gây ra hao tổn để khởi động một trình chạy dịch vụ và thực thi trình nghe không hoạt động mà không mang lại bất kỳ lợi ích nào về tính năng (chẳng hạn như khả năng lưu vào bộ nhớ đệm hoặc khả năng ngoại tuyến) vì mã này không hoạt động gì.

Để giúp việc điều hướng đến các trang đó nhanh hơn, kể từ Chrome 112, chúng ta sẽ bỏ qua bước bắt đầu của trình chạy dịch vụ và điều phối trình nghe khỏi đường dẫn quan trọng điều hướng nếu tác nhân người dùng xác định rằng tất cả trình nghe tìm nạp của trình chạy dịch vụ này đều không hoạt động.

Trong lần thay đổi này, Chromium sẽ hiển thị các cảnh báo trên bảng điều khiển nếu tất cả trình nghe tìm nạp của trình chạy dịch vụ không hoạt động, đồng thời khuyến khích nhà phát triển xoá trình nghe tìm nạp vô dụng. Hy vọng các trang web ngừng sử dụng trình nghe tìm nạp vô ích và chúng tôi có thể ngừng sử dụng tính năng này trong tương lai.

Chấp nhận mã hoá: br (Brotli) trên kết nối HTTPS trong WebView

Brotli (loại mã hoá nội dung: br) là một thuật toán nén không tổn hao chuyên dụng, mang đến khả năng nén mật độ cao hơn với tỷ lệ nén và tốc độ tương đương với các phương thức nén đa năng tốt nhất hiện có (Xem google/brotliRFC 7932 để biết thêm chi tiết).

Mặc dù loại mã hoá nội dung HTTP cho Brotli (Accept-Encoding: br) đã được Chrome hỗ trợ từ phiên bản 50 nhưng cho đến nay vẫn chưa được bật cho WebView. Tính năng này sẽ được phát hành theo giai đoạn để đảm bảo độ ổn định và sẽ được cung cấp cho 50% dân số trên WebView Beta.

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

Trong Chrome 112, bạn có thể chọn tham gia các bản dùng thử theo nguyên gốc sau.

FedCM: API tự động xác thực lại

Phiên bản FedCM mới nhất có tính năng tự động xác thực lại chọn sử dụng, cho phép tự động xác thực lại người dùng khi họ quay lại sau lần xác thực ban đầu bằng FedCM.

Hiện tại, sau khi người dùng tạo một tài khoản liên kết trên một RP (bên độc lập) với một IdP (nhà cung cấp danh tính) thông qua FedCM, thì lần tiếp theo họ truy cập vào trang web đó, họ cần thực hiện các bước tương tự trong giao diện người dùng. Điều này nghĩa là các ứng dụng cần xác nhận và xác thực lại một cách rõ ràng để tiếp tục quy trình đăng nhập. Một trong những mục tiêu chính của FedCM là ngăn chặn hoạt động theo dõi bí mật nên trải nghiệm người dùng (UX) này hợp lý trước khi người dùng tạo tài khoản liên kết, nhưng việc này trở nên không cần thiết và cồng kềnh sau khi người dùng đã hoàn tất một lần. Đó là lý do Chrome ra mắt một trải nghiệm đơn giản hơn mà các bên bị hạn chế có thể lựa chọn cho người dùng cũ.

Đăng ký dùng thử theo nguyên gốc tự động xác thực lại của FedCM

Ngừng sử dụng bản dùng thử

Phương thức getStats() của RTCPeerConnection sẽ không còn trả về các đối tượng thống kê ở vị trí type == "track" hoặc "stream". Tính năng này đã bị loại bỏ trong Chrome 112, hãy chọn tham gia bản dùng thử này để có thêm thời gian thực hiện các thay đổi cần thiết.

Đăng ký dùng thử việc ngừng sử dụng này

Ngừng sử dụng X-Requested-With trong WebView

Bản dùng thử theo nguyên gốc Ngừng sử dụng hỗ trợ khả năng hỗ trợ trước nhiều nguồn gốc khi gọi các dịch vụ dựa vào tiêu đề X-Requested-With. Tuỳ chọn này có trong WebView trên Chrome 112. Xem hướng dẫn thiết lập bản dùng thử theo nguyên gốc để biết cách sử dụng tính năng này.

Đăng ký dùng thử việc ngừng sử dụng X-Request with WebView (Yêu cầu X có sử dụng WebView).

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

Phiên bản Chrome này giới thiệu các ngừng sử dụng và xoá được liệt kê dưới đây. Hãy truy cập vào ChromeStatus.com để xem danh sách các phương thức ngừng hoạt động theo kế hoạch, không dùng nữa và các lượt xoá trước đây.

Bản phát hành Chrome này sẽ ngừng sử dụng một tính năng nữa.

Ngừng sử dụng phương thức setter document.domain

Phương thức setter document.domain cho phép các nhà phát triển nới lỏng chính sách cùng nguồn gốc, làm phức tạp ranh giới bảo mật cơ bản mà chúng tôi muốn duy trì và đặt khoanh vùng trước khi thực hiện các thay đổi hậu Spectre đối với mô hình quy trình của Chromium. Hiện tại, bạn có thể chọn sử dụng thông qua các cụm tác nhân theo khoá nguồn gốc.

Bản phát hành Chrome này loại bỏ một tính năng.

Xoá các đối tượng thống kê trackstream khỏi phương thức getStats() của RTCPeerConnection

Phương thức getStats() của RTCPeerConnection sẽ không còn trả về các đối tượng thống kê ở vị trí type == "track" hoặc "stream". Chưa phát hành trong Chrome 112, với Bản dùng thử không dùng nữa (liệt kê ở trên) để mở rộng khả năng sử dụng các chỉ số này sang Chrome 115.