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

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

CSS

Bản phát hành này bổ sung hai tính năng mới của CSS và thực hiện hai thay đổi liên quan đến CSS.

Vị trí neo CSS

Vị trí neo CSS cho phép nhà phát triển chia sẻ một phần tử có vị trí tuyệt đối với một hoặc nhiều phần tử khác trên trang (liên kết), theo cách rõ ràng mà không cần sử dụng JavaScript. Tính năng định vị điểm neo hoạt động hiệu quả khi các neo có thể cuộn. Một trường hợp sử dụng phổ biến là đặt cửa sổ bật lên, chẳng hạn như chú giải công cụ bên cạnh phần tử đã gọi phần tử đó, hoặc một trình đơn chọn và danh sách tuỳ chọn cửa sổ bật lên. Trước khi có tính năng định vị vị trí neo, những trường hợp sử dụng này yêu cầu JavaScript linh động định vị cửa sổ bật lên và giữ cho cửa sổ đó cố định khi người dùng cuộn phần tử gọi. Đây là một khẩu súng nhanh có tính hiệu suất và rất khó để xác định đúng. Với vị trí neo, các trường hợp sử dụng này có thể được triển khai một cách hiệu quả và mang tính khai báo.

Tính năng định vị cố định bao gồm một số lượng lớn các thuộc tính CSS. Sau đây là một số thuộc tính chính:

  • anchor-name: thiết lập một phần tử làm điểm liên kết cho các phần tử khác.
  • position-anchor: mô tả neo "mặc định" mà một phần tử liên kết phải sử dụng để định vị neo.
  • Hàm anchor(): dùng để tham chiếu đến vị trí của phần tử neo, trong việc định vị phần tử neo.
  • inset-area: cách viết tắt của vị trí, cho các vị trí tương đối phổ biến.

Các hàm giá trị theo bậc của CSS: round(), mod()rem()

Các hàm giá trị bước (round(), mod()rem()) đều biến đổi một giá trị nhất định theo một "giá trị bước" khác.

Hàm round() CSS trả về số làm tròn dựa trên chiến lược làm tròn đã chọn.

Hàm mod() CSS trả về một mô-đun còn lại khi tham số đầu tiên chia cho tham số thứ hai, tương tự như toán tử phần dư của JavaScript (%). Mô-đun là giá trị còn lại khi một toán hạng (số chia) bị chia cho một toán hạng thứ hai (số chia). Hàm này luôn chứa dấu của số chia.

Hàm rem() CSS sẽ trả về một số dư còn lại khi tham số đầu tiên được chia cho tham số thứ hai, tương tự như toán tử phần dư của JavaScript (%). Phần còn lại là giá trị còn lại khi một toán hạng (số bị chia) được chia cho một toán hạng thứ hai (số chia). Hàm này luôn có dấu bị chia.

Loại bỏ sự gián đoạn đối với màu Oklab và Oklch với độ sáng gần 100% hoặc bằng 0

Trước thay đổi này, tất cả các màu Lab, LCH, Oklab và Oklch có giá trị độ sáng là 100% đều được hiển thị dưới dạng màu trắng, bất kể 2 tham số còn lại là gì. Tất cả các màu trong những không gian này có giá trị độ sáng là 0 đều được kết xuất dưới dạng màu đen. Hai mối liên kết này đã gây ra sự gián đoạn trong độ chuyển màu và ngoài dự kiến đối với các nhà phát triển web.

Khi khôi phục này, những màu này không còn được liên kết giả tạo nữa và màu hiển thị thu được sẽ liên tục với các màu lân cận và phụ thuộc vào bản đồ gam màu của màn hình.

Đã sử dụng thanh cuộn gốc của bảng phối màu

Làm cho trình duyệt sử dụng bảng phối màu ưu tiên của người dùng để hiển thị thanh cuộn của khung nhìn nếu giá trị "bảng phối màu được hỗ trợ của trang" là "bình thường" hoặc không được chỉ định và giá trị được tính toán của color-scheme cho phần tử gốc là normal. Thanh cuộn của khung nhìn có thể được coi là bên ngoài nội dung web. Do đó, tác nhân người dùng nên tuân theo bảng phối màu ưu tiên của người dùng khi hiển thị thanh cuộn của khung nhìn nếu nhà phát triển chưa chỉ định rõ ràng việc hỗ trợ cho bảng phối màu.

Thay đổi này không ngăn nhà phát triển kiểm soát bảng phối màu cho thanh cuộn. Hành vi mới này khiến trình duyệt sử dụng bảng phối màu ưu tiên của người dùng để hiển thị thanh cuộn không phải lớp phủ của khung nhìn chỉ khi nhà phát triển chưa chỉ định bảng phối màu cho phần tử gốc.

HTML

Vùng chứa cuộn có thể lấy tiêu điểm bằng bàn phím

Cải thiện khả năng hỗ trợ tiếp cận bằng cách làm cho các vùng chứa cuộn có thể làm tâm điểm bằng cách sử dụng chức năng điều hướng lấy nét tuần tự. Trước khi có sự thay đổi này, phím Tab không lấy tiêu điểm vào trình cuộn trừ phi tabIndex được đặt rõ ràng thành 0 hoặc lớn hơn.

Bằng cách đặt trình cuộn có thể làm tâm điểm theo mặc định, người dùng không thể (hoặc không muốn) sử dụng chuột sẽ có thể lấy tiêu điểm vào nội dung bị cắt bằng cách sử dụng thẻ và phím mũi tên trên bàn phím. Hành vi này chỉ được bật nếu thanh cuộn không chứa bất kỳ phần tử con có thể làm tâm điểm nào bằng bàn phím.

Đây là bản phát hành đang diễn ra, bắt đầu trong Chrome 124 và sẽ được cung cấp cho tất cả người dùng Chrome 125. Tìm hiểu thêm về các thao tác cuộn có thể làm tâm điểm trên bàn phím.

Khai báo chuyển đổi tuần tự DOM bóng

Một tính năng cho phép nhà phát triển chuyển đổi tuần tự cây DOM có chứa gốc bóng, gần đây đã được chuẩn hoá theo tiêu chuẩn HTML.

API web

Các bổ sung vào Attribution Reporting API

Chúng tôi đã thêm các tính năng vào Attribution Reporting API để tăng thêm khả năng gỡ lỗi bằng cách hỗ trợ phân tích cú pháp báo cáo gỡ lỗi, cải thiện hiệu quả sử dụng API bằng cách hỗ trợ một trường để chỉ định nền tảng đăng ký ưu tiên, đồng thời cải thiện quyền riêng tư.

API Áp suất tính toán

Compute pressure API cung cấp các trạng thái cấp cao đại diện cho tải CPU trên hệ thống. Nhờ đó, quá trình triển khai có thể sử dụng các chỉ số phần cứng cơ bản phù hợp nhằm đảm bảo người dùng có thể tận dụng tất cả sức mạnh xử lý có sẵn, miễn là hệ thống không gặp tình trạng quá tải. Intel đã dẫn đầu công việc thiết kế và triển khai API này, cho phép các ứng dụng hội nghị truyền hình cân bằng linh động các tính năng và hiệu suất.

Chấp nhận URL HTTP(S) khi tạo WebSocket

Bản cập nhật này bật các giao thức HTTP(s) trong hàm khởi tạo WebSocket, do đó cũng cho phép các nhà phát triển sử dụng các URL tương đối. Các giao thức này được chuẩn hoá thành giao thức ws:wss: nội bộ.

Việc này sẽ khởi chạy tiện ích được đề xuất của Storage Access API (tương thích ngược và đang trong giai đoạn dùng thử theo nguyên gốc) để cho phép truy cập vào cookie không được phân vùng và bộ nhớ không có cookie trong ngữ cảnh bên thứ ba. API hiện tại chỉ cung cấp quyền truy cập vào cookie (có các trường hợp sử dụng khác với phương pháp lưu trữ không phải cookie).

Yêu cầu về CORS của FedCM đối với điểm cuối xác nhận mã nhận dạng

Rất khó để giải thích các tìm nạp trong API FedCM vì các thuộc tính bắt buộc của chúng. Mặc dù vẫn còn nhiều cuộc thảo luận về điểm cuối của tài khoản, nhưng hầu hết mọi người cũng đều đồng thuận rằng điểm cuối xác nhận mã nhận dạng sẽ sử dụng CORS. Bản cập nhật này điều chỉnh các thuộc tính bảo mật của phương thức tìm nạp này chặt chẽ hơn với các lần tìm nạp khác trong nền tảng web. Tìm hiểu thêm về cách hoạt động của yêu cầu CORS trong bản cập nhật FedCM: Bản dùng thử theo nguyên gốc API Chế độ nút, CORS và SameSite.

Thao tác mặc định có khả năng tương tác khi di chuyển bằng chuột

Chrome cho phép huỷ các sự kiện di chuyển bằng chuột để ngăn các API khác như lựa chọn văn bản (và thậm chí là kéo và thả trong quá khứ). Thao tác này không khớp với các trình duyệt chính khác; cũng không tuân thủ thông số kỹ thuật của Sự kiện giao diện người dùng. Giờ đây, lựa chọn văn bản sẽ không còn là hành động mặc định khi di chuyển bằng chuột. Bạn vẫn có thể ngăn việc lựa chọn văn bản cũng như kéo và thả bằng cách huỷ các sự kiện selectstartdragstart tương ứng.

Các bản cập nhật cho API Bộ nhớ dùng chung

Bản cập nhật này hỗ trợ thêm khả năng chạy worklet trên nhiều nguồn gốc mà không cần phải tạo iframe.

Ứng dụng Chrome

API Direct Sockets trong Ứng dụng Chrome

Bản cập nhật này giúp dễ dàng chuyển đổi các ứng dụng chuyên biệt từ Ứng dụng Chrome sang Ứng dụng web tách biệt bằng cách bật Ổ cắm trực tiếp trong Ứng dụng Chrome, cho phép các ứng dụng web thiết lập hoạt động giao tiếp giao thức kiểm soát truyền trực tiếp (TCP) và giao thức giao thức gói tin người dùng (UDP) với hệ thống và thiết bị mạng.

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

Từ Chrome 125, bạn có thể chọn sử dụng các bản dùng thử theo nguyên gốc mới sau đây.

API Chế độ nút FedCM và Sử dụng API tài khoản khác

Bản dùng thử theo nguyên gốc này bao gồm 2 API FedCM sau đây.

API Chế độ nút cho phép các trang web gọi FedCM bên trong một lượt nhấp vào nút, chẳng hạn như nhấp vào nút Đăng nhập vào IdP. Điều này đòi hỏi FedCM phải đảm bảo rằng FedCM luôn phản hồi bằng một giao diện người dùng hiển thị, khác với chế độ tiện ích, chế độ này không hiển thị giao diện người dùng khi người dùng đăng xuất. Việc gọi API FedCM ở chế độ nút sẽ đưa người dùng đăng nhập vào IdP (trong cửa sổ hộp thoại), khi người dùng bị đăng xuất.

Ngoài ra, vì chế độ nút được gọi trong một cử chỉ rõ ràng của người dùng, nên giao diện người dùng cũng có thể nổi bật hơn (ví dụ: căn giữa và phương thức) so với giao diện người dùng ở chế độ tiện ích (không có ý định rõ ràng như vậy). Tìm hiểu thêm về cách hoạt động của API Chế độ nút trong bản cập nhật FedCM: Bản dùng thử theo nguyên gốc API Chế độ nút, CORS và SameSite

API Sử dụng tài khoản khác cho phép Nhà cung cấp danh tính cho phép người dùng đăng nhập vào các tài khoản khác.

Đăng ký dùng thử theo nguyên gốc FedCM.

API có thể gập lại

Bản dùng thử theo nguyên gốc này bao gồm API tư thế thiết bị và API liệt kê khung hiển thị. Các API này được thiết kế để giúp nhà phát triển nhắm đến các thiết bị có thể gập lại. Tìm hiểu thêm trong phần Bản dùng thử theo nguyên gốc dành cho API có thể gập lại.

Đăng ký dùng thử theo nguyên gốc API có thể gập lại.

Chọn không sử dụng Xem trước nội dung nghe nhìn

Bản dùng thử theo nguyên gốc ngược này sẽ loại trừ các trang web khỏi việc phát hành Bản xem trước phương tiện.

Chrome dự định cung cấp bản xem trước theo thời gian thực đối với dữ liệu đầu vào của máy ảnh và micrô tại thời điểm các trang web yêu cầu quyền truy cập vào máy ảnh và micrô. Các báo cáo này cũng sẽ có trên tranginfo của trang web.

Ngoài ra, người dùng có nhiều thiết bị sẽ có thể chọn một máy ảnh và micrô tại thời điểm yêu cầu quyền, trừ phi trang web đã yêu cầu một thiết bị cụ thể thông qua getUserMedia().

Tính năng này đang được phát triển đồng thời với một dự án khác có liên quan đến quyền là Chế độ kiểm soát quyền được nhúng trên trang (PEPC). Người dùng sẽ tiếp xúc với PEPC trong một quy trình phát hành độc lập bao gồm bản dùng thử theo nguyên gốc riêng biệt hoặc thử nghiệm riêng cho từng trang web.

Ngừng sử dụng bản dùng thử cho các thuộc tính và phương thức HTMLVideoElement Fullscreen có tiền tố

Bản dùng thử ngừng sử dụng này cho phép bạn chọn sử dụng lại tính năng hỗ trợ cho các thuộc tính và phương thức HTMLVideoElement có tiền tố nếu cần thêm thời gian để điều chỉnh mã của mình. Xem toàn bộ thông tin chi tiết về các thuộc tính và phương thức đã bị xoá trong phần Ngừng cung cấp và xoá.

Đăng ký dùng thử việc ngừng sử dụng API toàn màn hình có tiền tố.

Bỏ qua việc tải trước tính năng quét

Bỏ qua trình quét tải trước để khám phá sự đánh đổi hiệu suất cho các trang không có tìm nạp tài nguyên phụ.

Bước tải trước trình quét giúp tăng hiệu suất của các trang có tìm nạp tài nguyên phụ, thông qua việc triển khai quá trình tìm nạp trước theo suy đoán. Tuy nhiên, đối với những trang không được hưởng lợi từ bước này, tức là đối với những trang không có tài nguyên phụ, đây sẽ là chi phí xử lý bổ sung nhưng không mang lại nhiều lợi ích.

Đối với người dùng web nâng cao muốn hưởng lợi bằng cách giảm chi phí này, thử nghiệm này cung cấp chế độ kiểm soát ở cấp trang để tắt trình quét tải trước. Dữ liệu thu thập từ thử nghiệm này có thể đánh giá xem API đã sửa đổi hoặc một cách triển khai khác của trình quét tải trước HTML có hữu ích hay không.

Đăng ký dùng thử tính năng bỏ qua công cụ quét theo nguyên gốc.

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

Hãy truy cập vào ChromeStatus.com để xem danh sách các đề xuất ngừng sử dụng theo kế hoạch, ngừng sử dụng hiện tại và các lượt xoá bỏ trước đó.

Bản phát hành Chrome này sẽ loại bỏ 3 tính năng sau.

Xoá bí danh "window-placement" cho chính sách quyền và quyền "window-management"

Xoá bí danh "window-placement" cho chính sách quyền và chính sách quyền "window-management". Đây là một phần trong nỗ lực lớn hơn nhằm đổi tên các chuỗi bằng cách ngừng sử dụng và xoá "window-placement". Việc thay đổi thuật ngữ sẽ giúp cải thiện tuổi thọ của chỉ số mô tả vì API Quản lý cửa sổ phát triển theo thời gian.

Xoá chính sách Doanh nghiệp: NewBaseUrlInheritanceBehaviorAllowed

Sự thay đổi cơ bản về mã (cho phép hành vi kế thừa mới của URL cơ sở) mà chính sách ghi đè này cho doanh nghiệp đã được bật trong các bản phát hành ổn định kể từ tháng 8 năm 2023 (118.0.5966.0). Vì chúng tôi đã xử lý các vấn đề đã biết, nên chính sách doanh nghiệp này sẽ bị loại bỏ trong Chrome 125.

Xoá các thuộc tính và phương thức HTMLVideoElement toàn màn hình có tiền tố

Kể từ Chrome 38, các API toàn màn hình HTMLVideoElement có tiền tố đã ngừng hoạt động. Chúng đã được thay thế bằng Element.requestFullscreen(), phiên bản đầu tiên được phát hành không có tiền tố vào năm 2018 trong Chrome 71.

Các thuộc tính và phương thức sau sẽ bị xoá khỏi HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (lưu ý cách viết hoa khác của chữ "S" trong toàn màn hình)
  • webkitExitFullScreen()

Hãy đăng ký dùng thử việc ngừng sử dụng nêu trong bài đăng này, nếu trang web của bạn vẫn dựa vào những tính năng này và bạn cần thêm thời gian để cập nhật mã.