Chrome 125

Ngày phát hành phiên bản ổn định: 14 tháng 5 năm 2024

Trừ phi có ghi chú khác, những thay đổi sau đây sẽ áp dụng cho Chrome 125 phiên bản ổn định bản phát hành của kênh cho Android, ChromeOS, Linux, macOS và Windows.

HTML và DOM

Tuần tự hoá DOM bóng đổ khai báo

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

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

CSS

Vị trí neo CSS

Vị trí neo CSS cho phép nhà phát triển chia sẻ Internet một phần tử có vị trí tuyệt đối vào một hoặc nhiều phần tử khác trên trang (neo), theo cách khai báo, mà không cần sử dụng JavaScript. Vị trí neo hoạt động hiệu quả khi quảng cáo cố định cuối màn hình có thể cuộn. Một trường hợp sử dụng phổ biến là định vị mộ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 cửa sổ bật lên đó, 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ị neo, các trường hợp sử dụng này yêu cầu JavaScript tự động định vị cửa sổ bật lên và giữ cho cửa sổ đó được neo khi cuộn phần tử gọi. Đây là một vấn đề về hiệu suất và khó khắc phục. Với tính năng định vị neo, bạn có thể triển khai các trường hợp sử dụng này một cách hiệu quả và khai báo.

Tính năng định vị neo bao gồm một lượng lớn thuộc tính CSS. Đáp như sau:

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

Giới thiệu API định vị quảng cáo cố định cuối màn hình CSS | Theo dõi lỗi #40059176 | Mục nhập ChromeStatus.com | Quy cách

Hàm giá trị tăng dần CSS – round(), mod()rem()

Các hàm giá trị bậc thang, round()! mod()rem(), tất cả biến đổi một đối tượng cụ thể theo một "giá trị bước" khác.

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

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

Hàm CSS rem() trả về 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ử dư của JavaScript (%). Số dư là giá trị còn lại khi một toán hạng (giá trị chia) được chia cho một toán hạng thứ hai (giá trị chia). Giá trị này luôn lấy dấu của số dư.

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

Cú pháp mới cho :state() tuỳ chỉnh CSS

Trạng thái tuỳ chỉnh CSS cho phép các phần tử tuỳ chỉnh hiển thị các lớp giả của riêng chúng. Chiến lược phát hành đĩa đơn cú pháp hiện đã được chỉ định trong CSSWG và Chrome 125 hiện hỗ trợ cú pháp mới cú pháp :state(foo). Thay đổi này sẽ có một cửa sổ để Chrome sẽ hỗ trợ cả cú pháp cũ (:--foo) và cú pháp mới để các trang web có thể chuyển sang tài khoản mới.

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

Xoá sự không liên tục cho màu Oklab và Oklch có độ sáng gần 100% hoặc 0

Trước khi có thay đổi này, tất cả màu Lab, LCH, Oklab và Oklch đều có giá trị độ sáng 100% đượ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 các không gian này có giá trị độ sáng bằng 0 được thể hiện dưới dạng màu đen. Các hai ánh xạ gây ra sự gián đoạn về độ dốc và không mong muốn trên web nhà phát triển.

Với thao tác khôi phục này, các màu này không còn được ánh xạ một cách nhân tạo 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 việc ánh xạ gam màu của màn hình.

Mục nhập ChromeStatus.com | Quy cách

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

Yêu cầu trình duyệt sử dụng bảng phối màu mà người dùng ưu tiên để hiển thị thanh cuộn khung nhìn nếu giá trị của "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 đó, các tác nhân người dùng phải tuân thủ bảng phối màu mà người dùng ưu tiên khi kết xuất thanh cuộn khung nhìn nếu nhà phát triển không chỉ định rõ ràng việc hỗ trợ bảng phối màu.

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

tiêu đề | Theo dõi lỗi #40259909 | Mục nhập ChromeStatus.com | Quy cách

view-transitions lớp

Có một thuộc tính CSS mới view-transition-class cho phép bạn chỉ định một hoặc nhiều lớp chuyển đổi thành phần hiển thị. Sau đó, bạn có thể chọn các phần tử giả ViewTransition bằng các lớp này, ví dụ: ::view-transition-group(*.class).

Đây là một tiện ích cho ViewTransition API giúp đơn giản hoá việc tạo kiểu của các phần tử giả chuyển đổi khung hiển thị theo cách tương tự rằng lớp CSS đơn giản hoá việc tạo kiểu của các phần tử DOM thông thường.

Theo dõi lỗi #41492972 | Mục nhập ChromeStatus.com | Quy cách

Đang tải

Chấp nhận URL HTTP và HTTPS khi tạo WebSocket

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

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

API web

Các thành phần bổ sung cho Attribution Reporting API

Các tính năng đã được thêm vào Attribution Reporting API để tạo thêm các tính năng gỡ lỗi bằng cách hỗ trợ báo cáo gỡ lỗi lỗi phân tích cú pháp, cải thiện tính công thái học của API bằng cách hỗ trợ một trường để chỉ định nền tảng đăng ký ưu tiên và cải thiện quyền riêng tư.

Mục nhập ChromeStatus.com

Compute Áp suất API

Compute Pressure API (API Áp lực tính toán) cung cấp các trạng thái cấp cao thể hiện mức tải CPU trên hệ thống. API này cho phép quá trình triển khai sử dụng các chỉ số phần cứng cơ bản phù hợp để đảm bảo rằng 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 chịu áp lực không thể kiểm soát.

Intel dẫn dắt công việc thiết kế và triển khai API này Nhờ đó, các ứng dụng hội nghị truyền hình có thể linh hoạt cân bằng giữa các tính năng và hiệu suất.

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

Thao tác này sẽ khởi chạy tiện ích mở rộng được đề xuất của API Truy cập bộ nhớ (tương thích ngược và đã được thử nghiệm theo nguồn gốc) để cho phép truy cập vào cookie chưa phân vùng và bộ nhớ không phải 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 bộ nhớ không phải cookie.

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

Yêu cầu CORS của FedCM trên điểm cuối xác nhận danh tính

Rất khó để lý giải các lệnh tìm nạp trong API FedCM do các thuộc tính bắt buộc của các lệnh tìm nạp đó. Mặc dù đang có cuộc thảo luận liên tục về điểm cuối của tài khoản, nhưng cũng có nhiều ý kiến đồng thuận rằng điểm cuối xác nhận mã nhận dạng phải 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 lệnh tìm nạp này cho phù hợp hơn với các lệnh tìm nạp khác trong nền tảng web.

Nội dung cập nhật về FedCM: Bản dùng thử nguồn gốc API Chế độ nút, CORS và SameSite | Theo dõi lỗi #40284123 | Mục nhập ChromeStatus.com

FedCM hiện gửi yêu cầu xác nhận mã nhận dạng bằng CORS. Thay đổi đó đồng nghĩa với việc Chrome không còn gửi cookie SameSite=Strict đến điểm cuối xác nhận mã nhận dạng, mặc dù Ảnh tĩnh trên Chrome sẽ gửi SameSite=None. Vì không có lý do gì để gửi một nhóm cookie khác đến điểm cuối tài khoản và điểm cuối xác nhận mã nhận dạng, nên thay đổi này sẽ giúp các điểm cuối này nhất quán.

Việc không gửi cookie SameSite=Strict cũng nhất quán với hành vi requestStorageAccess và các yêu cầu trên nhiều trang web nói chung.

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

Thao tác mặc định khi di chuyển chuột có thể tương tác

Chrome cho phép huỷ các sự kiện di chuyển 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ứ). Tên này không khớp với chuyên ngành khác các trình duyệt; cũng như không tuân thủ thông số kỹ thuật của Sự kiện giao diện người dùng. Bây giờ, chế độ lựa chọn văn bản sẽ không lâu hơn là thao tác di chuyển mặc định. Có thể chọn văn bản và kéo và thả vẫn không được phép thực hiện thông qua việc huỷ các sự kiện selectstartdragstart tương ứng.

Tính năng này sẽ được triển khai từng bước kể từ Chrome 125 và dự kiến được cung cấp cho tất cả người dùng kể từ Chrome 126.

Bản minh hoạ | Theo dõi lỗi #40078978 | Mục nhập ChromeStatus.com | Quy cách

Đối tượng sửa đổi biểu thức chính quy

Đối tượng sửa đổi biểu thức chính quy bổ sung khả năng sửa đổi cục bộ các cờ i, ms bên trong một mẫu.

Để bật cờ cho một biểu thức phụ, hãy sử dụng (?X:subexpr), trong đó X là một trong i, m hoặc s. Để tắt cờ cho một biểu thức phụ, hãy sử dụng (-X:subexpr).

Ví dụ: đối với cờ i không phân biệt chữ hoa chữ thường:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

Mục nhập ChromeStatus.com | Quy cách

Nhóm thu thập được đặt tên trùng lặp trong biểu thức chính quy

Nhóm nhận dạng trùng lặp được đặt tên cho phép bạn sử dụng cùng một tên nhóm nhận dạng trên các phương án thay thế. Ví dụ

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

Trong trường hợp này, year hợp lệ cho phương án thay thế đầu tiên ((?<year>[0-9]{4})-[0-9]{2}), hoặc lựa chọn thay thế thứ 2 ([0-9]{2}-(?<year>[0-9]{4})).

Mục nhập ChromeStatus.com | Quy cách

Ứng dụng Chrome

Direct Sockets API 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 Socket trực tiếp trong Ứng dụng Chrome, cho phép các ứng dụng web thiết lập giao thức kiểm soát truyền trực tiếp (TCP) và giao thức dữ liệu người dùng (UDP) với các thiết bị và hệ thống mạng.

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

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

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.

Button Mode API (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 giao diện người dùng luôn hiển thị khi phản hồi, trái ngược với chế độ tiện ích không hiển thị giao diện người dùng khi người dùng đăng xuất. Khi người dùng đăng xuất, việc gọi API FedCM ở chế độ nút sẽ đưa người dùng đến trang đăng nhập của IdP (trong một cửa sổ hộp thoại).

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ụ: ở giữa và theo phương thức) so với giao diện người dùng từ 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 Button Mode API trong các bản cập nhật FedCM: Bản dùng thử nguồn gốc Button Mode API, 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.

Bản dùng thử theo nguyên gốc | Bản minh hoạ | Theo dõi lỗi #40284792 | Mục nhập ChromeStatus.com | Quy cách

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ê phân đoạn khung nhìn. 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.

Bản dùng thử theo nguyên gốc | Bản dùng thử theo nguyên gốc cho API có thể gập lại | Mục nhập ChromeStatus.com | Quy cách

Bản dùng thử về việc ngừng sử dụng các thuộc tính và phương thức Toàn màn hình HTMLVideoElement có tiền tố

Bản dùng thử việc ngừng sử dụng này cho phép bạn chọn trở lại hỗ trợ cho Các thuộc tính và phương thức HTMLVideoElement nếu bạn cần thêm thời gian để điều chỉnh .

Bản dùng thử theo nguyên gốc | Mục nhập ChromeStatus.com

Bỏ qua quá trình quét tải trước

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

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

Đối với những người dùng web nâng cao muốn hưởng lợi bằng cách giảm mức hao tổn này, thử nghiệm này cung cấp một chế độ kiểm soát cấp trang để tắt trình quét tải trước. Dữ liệu thu thập được từ thử nghiệm này có thể đánh giá xem API đã sửa đổi hoặc 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.

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

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

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

Xoá bí danh "window-placement" cho quyền và chính sách về 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 cuối cùng ngừng sử dụng và xoá "window-placement". Thay đổi về thuật ngữ giúp tăng thời gian hoạt động của chỉ số mô tả khi API Quản lý cửa sổ phát triển theo thời gian.

tiêu đề | Theo dõi lỗi #40842072 | Mục nhập ChromeStatus.com | Quy cách

Chính sách xoá của Enterprise: NewBaseUrlInheritanceBehaviorAllowed

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

Mục nhập trên ChromeStatus.com

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

Các API chế độ toàn màn hình HTMLVideoElement có tiền tố đã ngừng hoạt động kể từ Chrome 38. Các thiết bị này được thay thế bằng Element.requestFullscreen(), đầu tiên vận chuyển mà 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 đây sẽ bị xoá khỏi HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (lưu ý cách viết hoa khác nhau của "S" trong FullScreen)
  • webkitExitFullScreen()

Đăng ký dùng thử giai đoạn ngừng hoạt động được liệt kê trong bài đăng này nếu trang web của bạn vẫn dựa vào các tính năng này và bạn cần thêm thời gian để cập nhật mã.

Mục nhập trên ChromeStatus.com

Tài liệu đọc thêm

Bạn đang tìm kiếm thêm? Hãy tham khảo các tài nguyên bổ sung sau đây.

Tải Google Chrome xuống

Tải Chrome xuống cho Android, Máy tính hoặc iOS.