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

Xuất bản: Ngày 18 tháng 9 năm 2024

Trừ phi có ghi chú khác, các thay đổi sau đây áp dụng cho bản phát hành mới nhất của kênh Chrome beta 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 130 là phiên bản beta kể từ ngày 18 tháng 9 năm 2024. Bạn có thể tải phiên bản mới nhất xuống trên Google.com 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 4 tính năng CSS mới.

Tra cứu cây phẳng của CSS Container Queries

Quy cách cho truy vấn vùng chứa đã thay đổi để tra cứu các phần tử tổ tiên trong cây phẳng. Thay đổi này chỉ liên quan đến DOM ảo, trong đó một phần tử hiện sẽ có thể nhìn thấy các vùng chứa không có tên bên trong cây ảo mà phần tử hoặc một trong các phần tử tổ tiên của phần tử được đưa vào, ngay cả khi quy tắc CSS không sử dụng ::part() hoặc ::slotted().

Lồng CSS: Quy tắc khai báo lồng

Giữ các khai báo trần theo một quy tắc lồng nhau tại chỗ, bằng cách bao bọc các khai báo đó trong các quy tắc CSSNestedDeclarations trong quá trình phân tích cú pháp.

Hỗ trợ đầy đủ và không có tiền tố cho thuộc tính box-decoration-break

Thêm tính năng hỗ trợ cho box-decoration-break: clone cả cho việc phân mảnh nội dòng (bố cục dòng) và phân mảnh khối (phân trang để in và nhiều cột).

Trước đây trong Chrome, chỉ box-decoration-break:slice (giá trị ban đầu) được hỗ trợ cho việc phân mảnh khối, trong khi đối với việc phân mảnh nội tuyến,box-decoration-break:clone cũng được hỗ trợ, nhưng chỉ khi sử dụng thuộc tính -webkit-box-decoration-break có tiền tố.

Cho phép nhiều phần tử giả và lớp giả hơn sau ::part()

Bộ chọn CSS sử dụng pseudo-element ::part() được phép có các CSS pseudo-element khác (ngoại trừ ::part()) và nhiều loại CSS pseudo-class khác sau đó. Bạn vẫn không được phép dùng bộ kết hợp sau ::part() và không được phép dùng các lớp giả phụ thuộc vào cấu trúc cây.

Trước đây, Chrome chỉ cho phép một số lượng hạn chế các lớp giả và phần tử giả sau ::part(). Thay đổi này cho phép tất cả các lớp giả và phần tử giả cần được cho phép. Điều này có nghĩa là các bộ chọn như ::part(part-name):enabled::part(part-name)::marker hiện được cho phép.

Web API

Tính năng Attribution Reporting API (Phạm vi phân bổ)

Thay đổi này dựa trên ý kiến phản hồi của công nghệ quảng cáo và nhu cầu về các chế độ kiểm soát lọc chi tiết hơn trước khi quy trình phân bổ diễn ra. Thao tác này cho phép người gọi API chỉ định một trường có tên là "phạm vi phân bổ" sẽ được dùng để lọc trước khi bắt đầu quy trình phân bổ thông thường. Điều này cho phép phương thức gọi API kiểm soát chi tiết hơn về độ chi tiết của hoạt động phân bổ và khả năng nhận được báo cáo phân bổ phù hợp khi có nhiều nhà quảng cáo hoặc chiến dịch khác nhau chuyển đổi trên cùng một trang web đích.

Tính năng Attribution Reporting API (cải thiện quyền riêng tư của khoá gỡ lỗi)

Thay đổi này giúp giảm thiểu một khoảng trống tiềm ẩn về quyền riêng tư với các khoá gỡ lỗi.

Hiện tại, API cho phép chỉ định khoá gỡ lỗi nguồn hoặc khoá gỡ lỗi điều kiện kích hoạt nếu có cookie của bên thứ ba và người gọi API có thể đặt cookie này. Nếu bạn chỉ định khoá gỡ lỗi nguồn hoặc điều kiện kích hoạt, thì khoá đó sẽ được đưa vào báo cáo phân bổ. Điều này có thể dẫn đến rò rỉ quyền riêng tư nếu cookie của bên thứ ba chỉ được phép trên trang web của nhà xuất bản hoặc nhà quảng cáo chứ không được phép trên cả hai.

Thay đổi này giúp giảm thiểu vấn đề này bằng cách thực thi rằng khoá gỡ lỗi nguồn và khoá gỡ lỗi điều kiện kích hoạt chỉ được đưa vào báo cáo phân bổ nếu chúng có trên cả nguồn và điều kiện kích hoạt. Điều này có nghĩa là cookie của bên thứ ba có sẵn trên cả trang web của nhà xuất bản và nhà quảng cáo. Thay đổi này sẽ áp dụng cho cả báo cáo cấp sự kiện và báo cáo tổng hợp.

Truyền tải từ điển nén bằng Brotli dùng chung và Zstandard dùng chung

Tính năng này bổ sung khả năng hỗ trợ sử dụng các phản hồi trước đó được chỉ định làm từ điển bên ngoài để mã hoá nội dung nén các phản hồi bằng Brotli hoặc Zstandard.

Các doanh nghiệp có thể gặp phải vấn đề về khả năng tương thích với cơ sở hạ tầng mạng doanh nghiệp chặn lưu lượng truy cập HTTPS và nhạy cảm với các phương thức mã hoá nội dung không xác định. Chính sách doanh nghiệp CompressionDictionaryTransportEnabled có thể tắt tính năng truyền tải từ điển nén.

Đồng thời làm mịn scrollIntoView()

Phương thức scrollIntoView() với behavior: "smooth" cho phép nhà phát triển tạo các vùng chứa có thể cuộn để cuộn đến các thành phần con bằng một ảnh động cuộn mượt mà. Tính năng này khắc phục việc Chrome triển khai API để các hiệu ứng chuyển động scrollIntoView đang diễn ra không bị huỷ bởi các thao tác cuộn không liên quan trên các vùng chứa cuộn khác.

Tính năng này cũng khắc phục các trường hợp Chrome không thể cuộn đến một đoạn mã của trang vì có một scrollIntoView xung đột được gọi khi trang tải.

Tài liệu về chế độ hình trong hình: thêm lựa chọn bỏ qua bộ nhớ đệm ranh giới cửa sổ

Thao tác này sẽ thêm một tham số mới (preferInitialWindowPlacement) vào API hình trong hình của tài liệu. Khi được đặt thành true, tham số này sẽ gợi ý cho tác nhân người dùng rằng tác nhân này không nên cố gắng sử dụng lại vị trí hoặc kích thước của hình trong hình của tài liệu trước đó từ trang web này khi mở trang web này.

Thông thường, cửa sổ hình trong hình của tài liệu sẽ đóng và mở lại nhiều lần cho cùng một trang web, chẳng hạn như di chuyển hội nghị truyền hình đến và đi từ chế độ PiP. Tác nhân người dùng có thể mở lại cửa sổ PiP ở kích thước và vị trí gần đây nhất để cửa sổ này vẫn ở vị trí mà người dùng đã di chuyển lần gần đây nhất và đảm bảo tính liên tục giữa các cửa sổ PiP. Tuy nhiên, nếu cửa sổ mới không liên quan về mặt ngữ nghĩa đến cửa sổ trước đó, chẳng hạn như nếu đó là một cuộc gọi video mới, thì nhà phát triển có thể sử dụng tham số này để cung cấp một gợi ý cho tác nhân người dùng rằng cửa sổ này có thể được mở tốt hơn ở vị trí và kích thước mặc định.

Tìm hiểu cách mở cửa sổ ở vị trí và kích thước mặc định.

Cải thiện tính năng báo cáo lỗi trong IndexedDB đối với các lỗi đọc giá trị lớn

Thay đổi thành báo cáo cho một số trường hợp lỗi nhất định trước đây được báo cáo bằng DOMException và thông báo "Không đọc được giá trị IndexedDB lớn".

Giờ đây, Chrome sẽ tạo ra một DOMException có tên là "NotFoundError" khi tệp chứa dữ liệu mà IDBRequest đang đọc bị thiếu trên ổ đĩa để các trang web có thể thực hiện biện pháp khắc phục thích hợp khi xảy ra lỗi không thể khôi phục. Các biện pháp khắc phục có thể bao gồm việc xoá mục nhập khỏi DB, thông báo cho người dùng hoặc tìm nạp lại dữ liệu từ máy chủ.

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

Theo mặc định, tính năng này giúp những trình cuộn không có phần tử con có thể lấy tiêu điểm có thể lấy tiêu điểm bằng bàn phím.

Đây là một điểm cải tiến quan trọng giúp mọi người dùng dễ dàng truy cập vào các thành phần có thể cuộn và nội dung trong các thành phần đó. Bạn có thể đọc thêm về các lợi ích của thành phần này trong phần Thanh cuộn có thể làm tâm điểm (thao tác bằng bàn phím). Theo mặc định, trình cuộn có thể lấy tiêu điểm bằng bàn phím sẽ được bật kể từ Chrome 130. Nếu các trang web cần thời gian để điều chỉnh theo tính năng mới này, thì bạn có thể tham khảo một số lựa chọn sau:

Dịch vụ đặt giá thầu và đấu giá của Protected Audience

Protected Audience API (trước đây gọi là FLEDGE) là một đề xuất của Hộp cát về quyền riêng tư để phân phát các trường hợp sử dụng tái tiếp thị và đối tượng tuỳ chỉnh, được thiết kế sao cho các bên thứ ba không thể theo dõi hành vi duyệt web của người dùng trên các trang web.

Tính năng này (Protected Audience Bidding and Auction Services) nêu ra cách cho phép thực hiện việc tính toán Protected Audience trên các máy chủ đám mây trong môi trường thực thi đáng tin cậy, thay vì chạy trên thiết bị của người dùng. Việc chuyển các hoạt động tính toán sang máy chủ đám mây có thể giúp tối ưu hoá phiên đấu giá sử dụng Protected Audience API, nhằm giải phóng chu kỳ tính toán và băng thông mạng cho thiết bị.

Hỗ trợ các URL lược đồ không đặc biệt

Trước đây, trình phân tích cú pháp URL của Chrome không hỗ trợ các URL không đặc biệt. Trình phân tích cú pháp này phân tích các URL không đặc biệt như thể chúng có một "đường dẫn mờ", không tuân theo Tiêu chuẩn URL. Giờ đây, trình phân tích cú pháp URL của Chromium sẽ phân tích cú pháp chính xác các URL không đặc biệt, tuân theo Tiêu chuẩn URL.

Hãy xem bit.ly/url-non-special để biết thêm thông tin.

Các hàm dựng sẵn cho chuỗi JavaScript WebAssembly

Tính năng này cung cấp các thao tác chuỗi JavaScript phổ biến để nhập vào WebAssembly. Điều này cho phép bạn tạo và thao tác với các chuỗi JavaScript từ WebAssembly mà không cần hỗ trợ trong WebAssembly. Điều này vẫn cho phép hiệu suất tương tự như các tham chiếu chuỗi được hỗ trợ.

WebGPU: Trộn hai nguồn

Thêm tính năng GPU không bắt buộc "dual-source-blending" (trộn hai nguồn) cho phép kết hợp 2 đầu ra của chương trình đổ bóng mảnh thành một vùng đệm khung hình duy nhất. Kỹ thuật này đặc biệt hữu ích cho các ứng dụng yêu cầu các thao tác pha trộn phức tạp, chẳng hạn như các ứng dụng dựa trên chế độ pha trộn Porter-Duff. Bằng cách giảm nhu cầu thay đổi thường xuyên đối tượng trạng thái quy trình, tính năng kết hợp hai nguồn có thể nâng cao hiệu suất và tính linh hoạt.

Web Serial: Thuộc tính connected và các sự kiện kết nối RFCOMM

Tính năng này thêm một thuộc tính boolean SerialPort.connected. Thuộc tính này trả về true nếu cổng nối tiếp được kết nối theo logic. Đối với các cổng nối tiếp có dây, một cổng được kết nối về mặt logic nếu cổng đó được gắn vào hệ thống. Đối với cổng nối tiếp không dây, một cổng được kết nối một cách logic nếu thiết bị lưu trữ cổng có bất kỳ kết nối nào đang mở với máy chủ.

Trước đây, chỉ các cổng nối tiếp có dây mới gửi các sự kiện kết nối và ngắt kết nối. Với tính năng này, các cổng nối tiếp RFCOMM Bluetooth sẽ gửi các sự kiện này khi cổng được kết nối hoặc ngắt kết nối một cách hợp lý.

Tính năng này nhằm mục đích cho phép các ứng dụng phát hiện thời điểm có cổng nối tiếp RFCOMM Bluetooth mà không cần mở cổng.

Tìm hiểu thêm trong bài viết Thông tin cập nhật về RFCOMM Bluetooth trong Web Serial.

Bản dùng thử theo nguyên gốc đang diễn ra

Trong Chrome 130, bạn có thể chọn tham gia các thử nghiệm theo nguyên gốc mới sau đây.

Language Detector API

Một API JavaScript để phát hiện ngôn ngữ của văn bản, với các mức độ tin cậy.

WebAuthn attestationFormats

Hỗ trợ trường attestationFormats từ WebAuthn cấp 3.

WebAuthn Cấp 3 hỗ trợ một trang web thể hiện lựa chọn ưu tiên có thứ tự cho các định dạng chứng thực thông tin đăng nhập trong trường attestationFormats mới. Tính năng này cho phép hỗ trợ tính năng này trên Android, trong đó khoá truy cập có thể hỗ trợ nhiều định dạng.

Đăng ký dùng thử WebAuthn attestationFormats.

Bản không dùng nữa và xoá

Phiên bản Chrome này giới thiệu những thay đổi sau đây về việc ngừng sử dụng và xoá. Truy cập vào ChromeStatus.com để xem danh sách các tính năng dự kiến sẽ không dùng nữa, các tính năng hiện không dùng nữa và các tính năng đã bị xoá trước đây.

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

Xoá expectedImprovement trong DelegatedInkTrailPresenter

Thuộc tính expectedImprovement cho biết cho nhà phát triển web biết mức độ cải thiện mà DelegatedInkTrails API sẽ mang lại cho độ trễ hiện tại của mực. Tuy nhiên, thuộc tính này không đáng để tăng entropy nhận dạng bằng vân tay.

Bản phát hành Chrome này không dùng một tính năng.

Ngừng sử dụng phương thức GPUAdapter requestAdapterInfo() không theo tiêu chuẩn

Phương thức không đồng bộ requestAdapterInfo() trong WebGPU là phương thức dư thừa vì nhà phát triển đã có thể nhận được GPUAdapterInfo một cách đồng bộ bằng cách sử dụng thuộc tính GPUAdapter info.