Ngày phát hành: 13 tháng 11 năm 2024
Trừ khi có ghi chú khác, các thay đổi sau đây sẽ áp dụng cho bản phát hành mới nhất của kênh beta 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ê tại đâ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 132 đang ở giai đoạn thử nghiệm beta kể từ ngày 13 tháng 11 năm 2024. Bạn có thể tải phiên bản mới nhất xuống từ Google.com dành cho máy tính hoặc từ Cửa hàng Google Play dành cho Android.
CSS
Bản phát hành này bổ sung hai tính năng CSS mới.
CSS Anchor Positioning (Đặt neo CSS): cho phép anchor-size()
trong các thuộc tính inset
và margin
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ề.
Chế độ viết CSS theo chiều ngang
Hỗ trợ từ khoá sideways-rl
và sideways-lr
cho thuộc tính CSS writing-mode
. sideways-rl
và sideways-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 lớp 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-rl
và vertical-lr
.
API web
Chụp tất cả màn hình
Chụp tất cả màn hình hiện đang 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ả các khía cạnh này.
Tính năng này chỉ được cung cấp trên máy tính.
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 đ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>
đó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
.
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 video theo thẻ, tính năng Quay video theo 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.
Các tính năng uỷ quyền của FedCM
API này gói một số tính năng mà Nhà cung cấp danh tính (IdP) có thể sử dụng để triển khai quy trình uỷ quyền, chẳng hạn như cho phép người dùng cấp quyền truy cập vào lịch của họ cho một Bên phụ thuộc (RP). Cụ thể:
- IdP cần có thể hiển thị lời nhắc tuỳ chỉnh cho quyền này (API tiếp tục).
- RP cần một phương thức có thể mở rộng để thông báo cho IdP về những nội dung mà RP muốn truy cập (API tham số).
- RP cần có khả năng tuỳ chỉnh hoặc loại bỏ văn bản đề cập đến việc IdP chia sẻ "tên, địa chỉ email và ảnh hồ sơ" vì trong trường hợp này, họ đang yêu cầu thông tin khác (API trường).
- IdP có thể muốn sử dụng một điểm cuối khác để triển khai quy trình uỷ quyền (nhiều configURL).
- Một số tài khoản nhất định có thể chỉ đủ điều kiện cho một trong hai quy trình xác thực và uỷ quyền, vì vậy, cần có một cách để hiển thị các tài khoản khác nhau trong hai quy trình này (API nhãn tài khoản).
API Chế độ FedCM và Sử dụng API tài khoản khác
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). Chế độ này yêu cầu FedCM đảm bảo rằng nó sẽ luôn phản hồi bằng 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 của 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.
Tìm nạp: Request.bytes()
và Response.bytes()
Thêm phương thức bytes()
vào giao diện Request
và Response
. 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ù Request
và Response
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.
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ác (không phải Web) 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ữ tên tệp và tên thư mục trong IndexedDB để sau này truy cập lại vào cùng một nội dung.
Tính năng 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.
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ã 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 máy chủ cục bộ, thì phản hồi đó sẽ được áp dụng cho tất cả các yêu cầu máy chủ cục bộ tiếp theo, bất kể cổng.
Chrome 132 giải quyết vấn đề này bằng cách bỏ qua tiêu đề Strict-Transport-Security
trên các phản hồi từ URL máy chủ cục bộ.
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ự cố 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.
Mã thông báo trạng thái riêng tư API quyền chính sách danh sách cho phép mặc định ký tự đại diện
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ằng 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-issuance
và private-state-token-redemption
từ self
thành *
(ký tự đại diện).
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 điều chỉnh lạ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
.
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 tải trang đượ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ượt 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.
Đưa ra trường hợp ngoại lệ cho các cửa sổ bật lên và hộp thoại trong 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
.
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.
WebGPU: Kết hợp kết cấu float 32 bit
Tính năng GPU float32-blendable
giúp kết hợp các kết cấu GPU có định dạng r32float
, rg32float
và rgba32float
.
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
.
WebGPU: Mức sử dụng chế độ xem kết cấu
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 khung hiển thị 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 chế độ xem kết cấu 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 của hoạ tiết nguồn hợp lệ với định dạng chế độ xem và cụ thể là cách sử dụng dự kiến của họ đối với chế độ xem kết cấu.
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.
Bản dùng thử theo nguyên gốc mới
Trong Chrome 132, bạn có thể chọn tham gia các bản dùng thử mới về nguồn gốc sau đây.
Document-Isolation-Policy
Document-Isolation-Policy
cho phép một tài liệu bật crossOriginIsolation
cho chính tài liệu đó 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 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.
Gợi ý biên dịch tường minh bằng Bình luận 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 sớm trong tệp JavaScript. Thông tin này sẽ được mã hoá dưới dạng chú thích ma thuật.
Ngừng sử dụng và xoá
Phiên bản Chrome này ngừng sử dụng và xoá các tính năng sau. Truy cập vào ChromeStatus.com để xem danh sách các tính năng ngừng hoạt động theo kế hoạch, ngừng hoạt động hiện tại và các tính năng đã bị xoá trước đó.
Bản phát hành Chrome này xoá hai tính năng.
navigator.storage
không còn là EventTarget
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.
Xoá 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 mà 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ác tính năng này đã giảm đều đặn trong những năm qua.