Trừ phi có ghi chú khác, những thay đổi sau đây sẽ áp dụng cho phiên bản thử nghiệm mới nhất của Chrome kênh phát hà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 liên kết được cung cấp hoặc từ danh sách trên ChromeStatus.com. Chrome 129 đang ở giai đoạn thử nghiệm kể từ ngày 21 tháng 8 năm 2024. Bạn có thể tải mới nhất trên Google.com dành cho máy tính hoặc trên Cửa hàng Google Play trên Android.
CSS
Bản phát hành này bổ sung 2 tính năng CSS mới và cập nhật 3 tính năng.
Hàm interpolate-size property
và calc-size()
của CSS
Thuộc tính CSS interpolate-size
cho phép một trang chọn sử dụng ảnh động và
hiệu ứng chuyển đổi của các từ khoá định kích thước nội tại CSS, chẳng hạn như auto
, min-content
và
fit-content
, trong trường hợp các từ khoá đó có thể là ảnh động.
Hàm calc-size()
CSS là một hàm CSS tương tự như calc()
, tuy nhiên
cũng hỗ trợ các thao tác trên chính xác một từ khoá định kích thước được hỗ trợ. Hiện tại
các từ khóa định kích thước được hỗ trợ là auto
, min-content
, max-content
và
fit-content
. Các từ khoá định kích thước khác có thể được hỗ trợ trong tương lai bao gồm
stretch
(hiện được hỗ trợ dưới dạng tiền tố -webkit-fill-available
) và
contain
. Hàm này dùng để biểu thị các giá trị ở giữa
ảnh động mà thuộc tính interpolate-size
cho phép.
Đổi tên vị trí neo CSS inset-area
thành position-area
CSSWG đã giải quyết việc đổi tên tài sản này
từ inset-area
đến position-area
. Chrome 129 vận chuyển position-area
,
Tên inset-area
sẽ bị xoá trong bản phát hành sau này.
Vị trí neo CSS: inset-area()
đã khám phá
Thay thế hàm inset-area()
bằng các giá trị vùng lồng ghép trực tiếp trong
position-try-fallbacks
Ví dụ: thay vì
position-try-fallbacks:inset-area(top)
sử dụng
position-try-fallbacks:top
Cập nhật bộ lọc phông nền CSS để sử dụng chế độ cạnh phản chiếu
Thuộc tính CSS backdrop-filter
áp dụng một hoặc nhiều bộ lọc cho phông nền
của một phần tử. Phông nền là nội dung được vẽ nằm phía sau phần tử này.
Một bộ lọc thông thường là tính năng làm mờ cho phép các nhà thiết kế tạo ra "kính mờ" hộp thoại
hộp, lớp phủ video, tiêu đề điều hướng rõ, v.v.
Ban đầu, việc này được triển khai theo cách tương tự như làm mờ thông thường, nhưng việc lấy mẫu vượt quá đường viền của phần tử cho phép màu từ các cạnh tràn vào. Chiến lược phát hành đĩa đơn thông số kỹ thuật đã được thay đổi thành pixel mẫu bên ngoài cạnh phông nền bằng cách sao chép pixel ở cạnh. Tuy nhiên, tình trạng này dẫn đến hiện tượng nhấp nháy nội dung quá mức sẽ xuất hiện trong cạnh phông nền. Thay đổi mới nhất về thông số kỹ thuật sẽ phản chiếu phông nền khi lấy mẫu bên ngoài rìa, cho phép đưa ra các màu mới ở các cạnh mà không làm quá tải trọng số trên các dòng màu đơn lẻ.
API web
Hỗ trợ Blob trong các kênh dữ liệu WebRTC
Triển khai RTCDataChannel.send(Blob)
và sự kiện onMessage
hiện có thể
có thể tuỳ ý nhận dữ liệu thuộc loại Blob
bằng thuộc tính binaryType
.
Ngoài việc hỗ trợ gửi chuỗi và ArrayBuffers, giờ đây bạn có thể chọn
để gửi Blob
, miễn là kích thước của lớp này nhỏ hơn phương thức truyền tải SCTP
maxMessageSize
như được chỉ ra trong
Thông số kỹ thuật WebRTC.
Với thuộc tính binaryType
được đặt thành "blob"
, thuộc tính dữ liệu sự kiện onMessage
sẽ thuộc loại Blob
thay vì ArrayBuffer
hiện được hỗ trợ.
Các lệnh mở rộng tính toán áp lực cho WebDriver
Hiện các lệnh WebDriver để tạo, xoá và cập nhật nguồn áp lực các mẫu cho nguồn áp lực ảo. Các nguồn áp suất như vậy không phụ thuộc trên khả năng hỗ trợ phần cứng hoặc hệ điều hành cơ bản và có thể dùng để kiểm thử.
Intl.DurationFormat
Cung cấp một phương thức định dạng thời lượng, ví dụ: "1 giờ 40 phút 30 giây" để hỗ trợ nhiều ngôn ngữ.
API tổng hợp riêng tư: hợp nhất phần đóng góp phía máy khách
Sửa đổi API Tổng hợp riêng tư để hợp nhất các phần đóng góp cho biểu đồ với cùng một mã bộ chứa và mã bộ lọc trước khi nhúng vào báo cáo tổng hợp tải trọng được mã hoá.
Tính năng Tổng hợp riêng tư đặt ra giới hạn về số lượng nội dung đóng góp có thể được được nhúng trong một báo cáo tổng hợp duy nhất, cùng với mọi đóng góp bổ sung bị thả. Bằng cách hợp nhất các nội dung đóng góp nếu có thể, chúng tôi có thể thu được tiện ích bổ sung ra khỏi giới hạn. Lưu ý rằng, bỏ qua việc giảm lượng thừa khoản đóng góp, việc hợp nhất các kiểu đóng góp này sẽ không có bất kỳ ảnh hưởng nào vào kết quả cuối cùng, chẳng hạn như báo cáo tóm tắt.
scheduler.yield()
Cung cấp phương thức tạo quyền kiểm soát cho trình duyệt, có thể được dùng để
chia nhỏ các nhiệm vụ dài. Đang chờ lời hứa do scheduler.yield()
nguyên nhân trả về
tác vụ hiện tại cần thực hiện, tiếp tục trong một tác vụ trình duyệt mới. Bạn có thể dùng thông tin này để
cải thiện các vấn đề về khả năng phản hồi do các tác vụ dài gây ra. Các cụm tiếp tục
được ưu tiên nhằm giảm thiểu các vấn đề về hiệu suất của các giải pháp thay thế hiện có.
API xác thực web: Phương thức chuyển đổi tuần tự JSON
PublicKeyCredential.toJSON()
của WebAuthn, parseCreationOptionsFromJSON()
và parseRequestOptionsFromJSON()
cho phép nhà phát triển chuyển đổi tuần tự một WebAuthn
phản hồi vào đối tượng JSON hoặc giải tuần tự một đối tượng yêu cầu WebAuthn từ đối tượng
Biểu diễn JSON.
Hỗ trợ dải ô mở rộng (HDR) của WebGPU
Thêm thông số ánh xạ tông màu vào cấu hình canvas WebGPU và thêm
các tuỳ chọn của standard
(hành vi hiện tại của việc giới hạn nội dung ở SDR
phạm vi màn hình) làm giá trị mặc định và extended
(không áp dụng giá trị này
hạn chế) dưới dạng một hành vi mới. Điều này cho phép nội dung WebGPU sử dụng toàn bộ dải
của một màn hình.
Bản dùng thử theo nguyên gốc đang diễn ra
Trong Chrome 129, bạn có thể chọn tham gia các tính năng bản dùng thử theo nguyên gốc.
Giao diện FileSystemObserver
FileSystemObserver giao diện thông báo cho các trang web về những thay đổi đối với tệp hệ thống. Các trang web ghi nhận những thay đổi đối với tệp và thư mục trong thiết bị (như được chỉ định trong WICG/file-system-access) hoặc trong Hệ thống tệp nhóm (như được chỉ định trong fs.spec.whatwg.org) và được được thông báo về thông tin thay đổi cơ bản, chẳng hạn như loại thay đổi.
Đăng ký dùng thử theo nguyên gốc FileSystemObserver.
Ngừng sử dụng và xoá
Phiên bản Chrome này đã ngừng sử dụng và loại bỏ được liệt kê bên dưới. Truy cập vào ChromeStatus.com để biết danh sách các trang web ngừng sử dụng theo kế hoạch, các trang web ngừng sử dụng hiện tại và các yêu cầu xoá trước đó.
Bản phát hành Chrome này sẽ ngừng sử dụng một tính năng.
Không dùng 0.0.0.0
để truy cập vào mạng riêng
Chrome sẽ chặn quyền truy cập vào địa chỉ IP 0.0.0.0
trước Mạng riêng
Đã triển khai đầy đủ quyền truy cập (PNA).
Chrome sẽ ngừng cung cấp quyền truy cập trực tiếp vào các thiết bị đầu cuối trên mạng riêng tư từ công khai
các trang web khác của
Quy cách PNA.
Các dịch vụ theo dõi trên máy chủ cục bộ (127.0.0.0/8
) được xem là riêng tư theo
đến thông số kỹ thuật. Tính năng bảo vệ PNA của Chrome có thể bỏ qua bằng cách sử dụng IP
địa chỉ 0.0.0.0
để truy cập các dịch vụ theo dõi trên localhost trên macOS và
Linux.
Hành vi này cũng có thể bị lợi dụng trong các cuộc tấn công liên kết lại DNS nhắm đến một ứng dụng web đang nghe trên localhost.
Bản phát hành Chrome này xoá 3 tính năng.
Xoá đối số includeShadowRoots
trên DOMParser
Đối số includeShadowRoots
là một đối số chưa bao giờ được chuẩn hoá đối với
Hàm DOMParser.parseFromString()
, vốn được dùng để cho phép các hàm bắt buộc
phân tích cú pháp nội dung HTML có chứa DOM bóng khai báo. Đơn đặt hàng này đã được vận chuyển
trong Chrome 90 như một phần của lô hàng DOM bóng khai báo ban đầu.
Giờ đây, khi tính năng này đã có phiên bản chuẩn hoá thông qua
Phương thức setHTMLUnsafe()
và parseHTMLUnsafe()
, phương thức không chuẩn
Đối số includeShadowRoots
sẽ bị xoá. Mã phải được cập nhật thành
sau:
Thay vì:
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
Sử dụng:
Document.parseHTMLUnsafe(html);
Xoá quá trình chuyển đổi tuần tự DOM đổ bóng khai báo không theo chuẩn
Quá trình triển khai nguyên mẫu của DOM bóng khai báo chứa một phương thức được gọi là
getInnerHTML()
dùng để chuyển đổi tuần tự các cây DOM có chứa gốc bóng. Phần đó
của nguyên mẫu không được tiêu chuẩn hoá với phần còn lại của thuật toán đổ bóng khai báo,
thay vào đó, một thiết bị thay thế đã được thiết kế: getHTML()
.
Do đó, phương thức getInnerHTML()
cũ hiện sẽ bị xoá khỏi Chrome, bạn
nên sử dụng
getHTML()
với tư cách là
thay thế này, vốn sẽ sớm có khả năng tương tác trên các trình duyệt.
Xoá PointerEvent.getCoalescedEvents()
khỏi các bối cảnh không an toàn
Nhóm làm việc cho Sự kiện con trỏ đã tạo PointerEvent.getCoalescedEvents()
bị hạn chế đối với ngữ cảnh bảo mật hơn 4 năm trước, điều này đã xoá API khỏi
ngữ cảnh không an toàn. Ban đầu, Chrome vận hành hành vi cũ và không tuân theo
thay đổi thông số kỹ thuật ngay lập tức do lo ngại về khả năng tương thích.
Chúng tôi đang xoá trang này khỏi các ngữ cảnh không an toàn vì hoạt động sử dụng Chrome khi không an toàn bối cảnh trở nên rất thấp.