Chrome 132

Ngày phát hành phiên bản ổn định: Ngày 14 tháng 1 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 132 dành cho Android, ChromeOS, Linux, macOS và Windows.

HTML và DOM

Đưa ra ngoại lệ cho cửa sổ bật lên và hộp thoại trong các tài liệu không hoạt động

Trước đây, việc gọi showPopover() hoặc showModal() trên một cửa sổ bật lên hoặc hộp thoại nằm trong một tài liệu không hoạt động sẽ không thành công. Sẽ không có ngoại lệ nào được gửi, nhưng vì tài liệu không hoạt động nên sẽ không có cửa sổ bật lên hoặc hộp thoại nào xuất hiện. Kể từ Chrome 132, các trường hợp này hiện sẽ gửi InvalidStateError.

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

Sự kiện bật/tắt hộp thoại

Bạn nên biết thời điểm các phần tử <dialog> mở và đóng, đồng thời popover đã có ToggleEvent được gửi khi một cửa sổ bật lên mở hoặc đóng. Trước đây, để phát hiện thời điểm <dialog> mở ra, bạn phải đăng ký một trình quan sát sự biến đổi để kiểm tra trạng thái mở. Tuy nhiên, đây là một công việc khá nhiều việc khi một sự kiện sẽ dễ dàng hơn.

Thay đổi này kết hợp cùng một ToggleEvent mà các cửa sổ bật lên gửi, nhưng đối với các phần tử <dialog>: khi showModal hoặc show được gọi, <dialog> sẽ gửi một ToggleEvent bằng newState=open. Khi <dialog> bị đóng (sử dụng biểu mẫu, nút hoặc trình quan sát đóng), <dialog> sẽ gửi ToggleEvent với newState=closed.

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

Sửa lựa chọn isCollapsed trong Shadow DOM

Lựa chọn isCollapsed sẽ trả về true nếu và chỉ khi neo và tiêu điểm giống nhau. Điều này phải đúng cho dù lựa chọn bắt đầu hay kết thúc bên trong một cây ánh sáng hoặc cây bóng đổ.

Bản minh hoạ | Theo dõi lỗi #40400558 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

CSS

Định vị neo CSS: cho phép anchor-size() trong các thuộc tính insetmargin

Ban đầu, anchor-size() chỉ được phép trong các thuộc tính định cỡ. Thông số kỹ thuật đã được thay đổi để cho phép anchor-size() trong các phần lồng ghép và lề.

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

Chế độ viết CSS theo chiều ngang

Hỗ trợ từ khoá sideways-rlsideways-lr cho thuộc tính CSS writing-mode. sideways-rlsideways-lr rất hữu ích khi viết văn bản không phải CJK theo chiều dọc. Các phần tử này không có hành vi phù hợp với các ngôn ngữ CJK, không giống như vertical-rlvertical-lr.

Chế độ viết MDN | Theo dõi lỗi #40501131 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Đang tải

Tìm nạp: Request.bytes()Response.bytes()

Thêm phương thức bytes() vào giao diện RequestResponse. Phương thức này sẽ trả về một lời hứa phân giải bằng Uint8Array. Mặc dù RequestResponse có phương thức arrayBuffer(), nhưng bạn không thể đọc trực tiếp từ vùng đệm. Bạn phải tạo một thành phần hiển thị như Uint8Array để đọc dữ liệu. Phương thức bytes() cải thiện tính công thái học của việc lấy nội dung của Yêu cầu và Phản hồi.

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

Bỏ qua Strict-Transport-Security cho localhost

Tiêu đề phản hồi Strict-Transport-Security (STS) có thể gây ra sự cố cho máy chủ web localhost vì STS áp dụng trên toàn máy chủ lưu trữ, trên tất cả các cổng. Điều này gây ra các vấn đề về khả năng tương thích cho các nhà phát triển web kiểm thử cục bộ. Điều này cũng ảnh hưởng đến người dùng cuối sử dụng các gói phần mềm thường khởi động máy chủ web localhost vì lý do tạm thời. Ví dụ: giao tiếp mã thông báo xác thực từ một lượt đăng nhập web đến một gói phần mềm cục bộ. Nếu một trình nghe cục bộ đặt Strict-Transport-Security trên phản hồi localhost, thì phản hồi đó sẽ được áp dụng cho tất cả các yêu cầu localhost tiếp theo, bất kể cổng.

Chrome 132 giải quyết vấn đề này bằng cách bỏ qua các tiêu đề Strict-Transport-Security trên các phản hồi từ URL máy chủ cục bộ.

Theo dõi lỗi #41251622 | Mục nhập ChromeStatus.com

Nội dung nghe nhìn

Chụp tất cả màn hình

Chụp tất cả màn hình được kết nối với thiết bị bằng getAllScreensMedia().

Việc gọi getDisplayMedia() nhiều lần đòi hỏi nhiều cử chỉ của người dùng, gây phiền hà cho người dùng khi mỗi lần phải chọn màn hình tiếp theo và không đảm bảo với ứng dụng rằng tất cả màn hình đều được chọn. Phương thức getAllScreensMedia() cải thiện tất cả những khía cạnh này.

Tính năng này chỉ được cung cấp trên máy tính.

Tài liệu thiết kế | Theo dõi lỗi #40216442 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Chụp phần tử

Với một video MediaStreamTrack thu được thông qua các phương tiện hiện có để bắt đầu tính năng quay thẻ, Quay phần tử cho phép thay đổi kênh để chỉ quay một cây con của DOM bắt đầu từ một phần tử nhất định.

API này có một số điểm tương đồng với API Chụp vùng, nhưng mang lại tính linh hoạt cao hơn cho các ứng dụng, vì nội dung che khuất và bị che khuất đều bị loại trừ khỏi quá trình chụp.

Bản minh hoạ | Theo dõi lỗi #270230413 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

API web

PushMessageData::bytes()

Giao diện PushMessageData bắt chước giao diện Body, được sửa đổi vào đầu năm nay bằng một phương thức bytes() mới, tuân theo nguyên tắc rằng các API thường phải bán vùng đệm byte dưới dạng Uint8Arrays. Chrome 132 căn chỉnh lại với giao diện Body bằng cách cung cấp phương thức truy cập bytes() trên giao diện PushMessageData.

MDN PushMessageData: phương thức bytes() | Theo dõi lỗi #373336950 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

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

Việc triển khai tính năng này (từ Chrome 130) đã bị dừng do một sự kiện hồi quy về khả năng hỗ trợ tiếp cận. Lỗi này đã được khắc phục và tính năng này sẽ tiếp tục được triển khai với Chrome 132.

Bộ cuộn có thể lấy tiêu điểm bằng bàn phím | Theo dõi lỗi #40113891 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

API tư thế thiết bị

API này giúp nhà phát triển phát hiện tư thế hiện tại của thiết bị có thể gập lại. Tư thế thiết bị là vị trí thực tế mà thiết bị giữ, có thể được lấy từ các cảm biến ngoài góc.

Từ việc nâng cao khả năng hữu dụng của trang web bằng cách tránh khu vực gập, cho đến việc hỗ trợ các trường hợp sử dụng sáng tạo cho web, việc biết tư thế của thiết bị có thể giúp nhà phát triển điều chỉnh nội dung cho phù hợp với nhiều thiết bị.

Người dùng có thể xem và duyệt nội dung ngay cả khi thiết bị không phẳng. Trong trường hợp này, nhà phát triển có thể muốn cung cấp một bố cục khác cho thiết bị, tuỳ thuộc vào trạng thái tư thế mà thiết bị đang được sử dụng.

Kho lưu trữ Git | Theo dõi lỗi #40124716 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Truy vấn đã lưu trong sharedStorage.selectURL

sharedStorage.selectURL() hiện cho phép lưu và sử dụng lại các truy vấn trên cơ sở mỗi trang, trong đó hai ngân sách mỗi lần tải trang sẽ được tính phí trong lần đầu tiên chạy truy vấn đã lưu, nhưng không tính phí cho các lần chạy tiếp theo của truy vấn đã lưu trong cùng một lần tải trang. Việc này được thực hiện bằng tham số savedQuery trong các tuỳ chọn cho selectURL() để đặt tên cho truy vấn.

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

Mã thông báo trạng thái riêng tư trong danh sách cho phép mặc định của Chính sách về quyền API

Quyền truy cập vào API mã thông báo trạng thái riêng tư được kiểm soát bởi các tính năng trong Chính sách quyền. Chrome 132 cập nhật danh sách cho phép mặc định cho cả tính năng private-state-token-issuanceprivate-state-token-redemption từ self thành * (ký tự đại diện).

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

FedCM Mode API và Use Other Account API

Hai tiện ích mới cho FedCM:

  • Chế độ: Chế độ active cho phép các trang web gọi FedCM bên trong một lượt nhấp vào nút (ví dụ: nhấp vào nút Đăng nhập vào IdP), yêu cầu FedCM đảm bảo rằng nó sẽ luôn phản hồi bằng một giao diện người dùng hiển thị. Việc gọi API FedCM ở chế độ đang hoạt động sẽ đưa người dùng đến trang đăng nhập vào Nhà cung cấp danh tính (IdP) khi người dùng đã đăng xuất. Ngoài ra, vì chế độ chủ động đượ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 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 ở chế độ thụ động (không yêu cầu cử chỉ của người dùng và có thể được gọi khi tải trang).
  • Sử dụng tài khoản khác: Với tiện ích này, một IdP có thể cho phép người dùng đăng nhập vào các tài khoản khác.

Bản minh hoạ | Theo dõi lỗi #370694829 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Quyền truy cập vào hệ thống tệp cho Android và WebView

API này cho phép nhà phát triển xây dựng các ứng dụng mạnh mẽ tương tác với các ứng dụng (không phải Web) khác trên thiết bị của người dùng bằng cách sử dụng hệ thống tệp của thiết bị. Sau khi người dùng cấp quyền truy cập cho một ứng dụng web, API này cho phép ứng dụng đọc hoặc lưu trực tiếp các thay đổi vào các tệp và thư mục do người dùng chọn. Ngoài việc đọc và ghi tệp, API này còn cung cấp khả năng mở thư mục và liệt kê nội dung của thư mục, cũng như lưu trữ các tay cầm tệp và thư mục trong IndexedDB để sau này lấy lại quyền truy cập vào cùng một nội dung.

Tính năng Quyền truy cập vào hệ thống tệp được cung cấp trên máy tính trong Chrome 86, với Chrome 132, tính năng này có trên Android và WebView.

API truy cập hệ thống tệp | Theo dõi lỗi #40091667 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

WebAuthn Signal API

Cho phép các bên phụ thuộc WebAuthn báo hiệu thông tin về thông tin xác thực hiện có cho nhà cung cấp dịch vụ lưu trữ thông tin xác thực để có thể cập nhật hoặc xoá thông tin xác thực không chính xác hoặc bị thu hồi khỏi nhà cung cấp và giao diện người dùng hệ thống.

Tìm hiểu thêm về Signal API cho khoá truy cập trên Chrome dành cho máy tính.

Bản minh hoạ | Theo dõi lỗi #361751877 | Mục nhập ChromeStatus.com | Thông số kỹ thuật

Kết xuất và đồ hoạ

WebGPU: Hỗ trợ kết hợp hoạ tiết dấu phẩy động 32 bit

Tính năng GPU float32-blendable giúp kết cấu GPU có định dạng r32float, rg32floatrgba32float có thể kết hợp.

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

WebGPU: Hiển thị GPUAdapterInfo từ GPUDevice

Thuộc tính GPUDevice adapterInfo hiển thị cùng một GPUAdapterInfo với đối tượng GPUAdapter.

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

WebGPU: Mức sử dụng chế độ xem hoạ tiết

Thêm một trường không bắt buộc vào quá trình tạo chế độ xem hoạ tiết WebGPU để yêu cầu một tập hợp con của các cờ sử dụng từ hoạ tiết nguồn.

Theo mặc định, việc sử dụng chế độ xem hoạ tiết kế thừa từ hoạ tiết nguồn, nhưng có một số định dạng chế độ xem có thể không tương thích với toàn bộ các trường hợp sử dụng kế thừa. Việc thêm trường sử dụng vào quá trình tạo thành phần hiển thị hoạ tiết cho phép người dùng yêu cầu một tập hợp con các cách sử dụng hoạ tiết nguồn hợp lệ với định dạng thành phần hiển thị và dành riêng cho cách sử dụng dự kiến của họ đối với thành phần hiển thị hoạ tiết.

Việc triển khai WebGPU cũng có thể tối ưu hoá việc tạo tài nguyên cấp thấp và cải thiện hiệu suất khi sử dụng các chế độ xem có cờ sử dụng chuyên biệt hơn.

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

Bản dùng thử nguồn gốc

Gợi ý biên dịch rõ ràng bằng nhận xét ma thuật

Tính năng này cho phép bạn đính kèm thông tin về những hàm cần được phân tích cú pháp và biên dịch trong các tệp JavaScript. Thông tin này sẽ được mã hoá dưới dạng bình luận ma thuật.

Origin Trial | Explainer | Tracking bug #42203853 | ChromeStatus.com entry

Document-Isolation-Policy

Document-Isolation-Policy cho phép một tài liệu tự bật crossOriginIsolation mà không cần triển khai COOP hoặc COEP, bất kể trạng thái crossOriginIsolation của trang. Chính sách này được hỗ trợ bằng tính năng tách quy trình. Ngoài ra, tài nguyên phụ không phải CORS trên nhiều nguồn gốc sẽ được tải mà không cần thông tin xác thực hoặc cần có tiêu đề CORP.

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

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

navigator.storage được tạo thành EventTarget cho Sự kiện áp lực bộ nhớ, nhưng chưa bao giờ vượt qua giai đoạn nguyên mẫu. Mã chết này đang bị xoá và do đó, navigator.storage sẽ không còn mở rộng EventTarget nữa.

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

Xoá các API chế độ toàn màn hình HTMLVideoElement có tiền tố

Các API toàn màn hình HTMLVideoElement có tiền tố đã ngừng hoạt động trên Chrome.

Các API này đã được thay thế bằng API Element.requestFullscreen(). API này được phân phối lần đầu tiên không có tiền tố trong Chrome 71 vào năm 2018. Kể từ năm 2024, hầu hết các trình duyệt đã hỗ trợ các API không có tiền tố trong vài năm qua.

Chrome 132 xoá các mục sau khỏi HTMLVideoElement:

  • Thuộc tính webkitSupportsFullscreen.
  • Thuộc tính webkitDisplayingFullscreen.
  • Phương thức webkitEnterFullscreen().
  • Phương thức webkitExitFullscreen(). Lưu ý cách viết hoa khác nhau của chữ "S" trong FullScreen.
  • Phương thức webkitEnterFullScreen().
  • Phương thức webkitExitFullScreen().

Các phương thức này hiện chỉ là bí danh cho API hiện đại. Mức sử dụng của các công cụ này đã giảm đều đặn trong những năm qua.

Mục nhập ChromeStatus.com

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

Bạn muốn tìm hiểu thêm? Hãy tham khảo các tài nguyên bổ sung sau.

Tải Google Chrome xuống

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