Ngày xuất bản: 18 tháng 9 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 130 đang ở giai đoạn thử nghiệm 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 từ Google.com dành cho máy tính hoặc 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.
Truy vấn vùng chứa CSS tra cứu cây phẳng
Thông số kỹ thuật cho truy vấn vùng chứa đã thay đổi để tra cứu các thành phần cấp trên của cây phẳng.
Thay đổi này chỉ liên quan đến DOM bóng khi một phần tử hiện có thể thấy các vùng chứa không được đặt tên bên trong cây bóng mà phần tử hoặc một trong các phần tử cấp trên được đặt 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 nhau
Giữ nguyên các nội dung khai báo trần theo quy tắc lồng nhau tại vị trí của chúng, bằng cách gói các nội dung khai báo đó trong 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ố box-decoration-break
Thêm tính năng hỗ trợ cho box-decoration-break: clone
cả đối với phân mảnh nội tuyến (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) mới được hỗ trợ cho việc phân mảnh khối, còn đố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 thêm các phần tử và lớp giả sau ::part()
Bộ chọn CSS sử dụng phần tử giả ::part()
được phép có các phần tử giả CSS khác (ngoại trừ ::part()
) và nhiều loại lớp giả CSS khác sau đó. Bạn vẫn không được phép sử dụng toán tử kết hợp sau ::part()
và không được phép sử 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 phép. Điều này có nghĩa là các bộ chọn như ::part(part-name):enabled
và ::part(part-name)::marker
hiện được cho phép.
API web
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 về công nghệ quảng cáo và nhu cầu kiểm soát bộ lọc chi tiết hơn trước khi quy trình phân bổ diễn ra. Phương thức này cho phép phương thức gọi API chỉ định một trường có tên là "phạm vi phân bổ". Trường này 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ề mức độ chi tiết của mô hình phân bổ và khả năng nhận báo cáo phân bổ thích hợp khi có nhiều nhà quảng cáo hoặc chiến dịch khác nhau, tất cả đều 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 khoảng trống quyền riêng tư tiềm ẩn 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 khoá. 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 cho phép trên trang web của nhà xuất bản hoặc nhà quảng cáo, chứ không phải cả hai.
Thay đổi này giúp giảm thiểu vấn đề này bằng cách thực thi việc 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 các khoá này 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ó 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 hỗ trợ thêm việc sử dụng các phản hồi trước đó được chỉ định, dưới dạng một 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 các vấn đề về khả năng tương thích tiềm ẩn với cơ sở hạ tầng mạng của doanh nghiệp, cơ sở hạ tầng này sẽ 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. Bạn có thể sử dụng chính sách doanh nghiệp CompressionDictionaryTransportEnabled
để tắt tính năng truyền tải từ điển nén.
scrollIntoView()
làm mịn đồng thời
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 cuộn sẽ cuộn đến các phần tử con bằng ảnh động cuộn nhẹ nhàng. Tính năng này khắc phục cách triển khai API của Chrome để các ảnh độ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 cuộn đến neo mảnh của trang do scrollIntoView
cạnh tranh được gọi khi trang tải.
Hình trong hình của tài liệu: thêm tuỳ chọn để bỏ qua bộ nhớ đệm giới hạn 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 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ở tài liệu 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ư khi chuyển hội nghị truyền hình đến và đi từ 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ổ đó vẫn ở vị trí người dùng đã di chuyể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ề ngữ nghĩa với cửa sổ trước đó, chẳng hạn như nếu đó là cuộc gọi video mới, thì nhà phát triển có thể sử dụng tham số này để đưa ra gợi ý cho tác nhân người dùng rằng cửa sổ này có thể được mở ở 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 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 một DOMException
có tên là "NotFoundError"
khi tệp chứa dữ liệu đang được IDBRequest đọc bị thiếu trên ổ đĩa để các trang web có thể thực hiện hành động khắc phục thích hợp khi xảy ra lỗi không khôi phục được. Các biện pháp khắc phục có thể bao gồm 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 cuộn có thể lấy tiêu điểm bằng bàn phím
Tính năng này giúp 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 theo mặc định.
Đây là một điểm cải tiến quan trọng giúp tất cả người dùng dễ dàng sử dụng thanh cuộn và nội dung trong thanh cuộn hơn. Bạn có thể đọc thêm về các lợi ích của tính năng 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). Các trình cuộn có thể lấy tiêu điểm bằng bàn phím sẽ được bật theo mặc định kể từ Chrome 130. Nếu trang web cần thời gian để điều chỉnh theo tính năng mới này, bạn có thể làm một số việc sau:
- Bạn có thể sử dụng thử nghiệm ngừng sử dụng tính năng chọn không sử dụng thanh cuộn có thể lấy tiêu điểm bằng bàn phím để chọn không sử dụng tính năng này trong một khoảng thời gian có hạn trên một trang web cụ thể. Bạn có thể sử dụng tính năng này thông qua Chrome 132, kết thúc vào ngày 18 tháng 3 năm 2025.
- Bạn có thể sử dụng
KeyboardFocusableScrollersEnabled enterprise policy
có trong Chrome 127 cho cùng một mục đích.
Dịch vụ đặt giá thầu và phiên đấ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. API này được thiết kế để 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 (Dịch vụ đặt giá thầu và phiên đấu giá Protected Audience) trình bày 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 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á Protected Audience, giải phóng chu kỳ tính toán và băng thông mạng cho thiết bị.
Hỗ trợ URL giao thứ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 phân tích cú pháp các URL không đặc biệt như thể chúng có "đường dẫn mờ" không phù hợp với Tiêu chuẩn URL. Giờ đây, trình phân tích cú pháp URL của Chromium phân tích cú pháp chính xác các URL không đặc biệt, tuân theo Chuẩn URL.
Hãy xem bit.ly/url-non-special để biết thêm thông tin chi tiết.
Tích hợp sẵn chuỗi JavaScript WebAssembly
Tính năng này hiển thị 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 tệp tham chiếu chuỗi được hỗ trợ.
WebGPU: Hỗ trợ kết hợp nguồn kép
Thêm tính năng GPU không bắt buộc "kết hợp hai nguồn" cho phép kết hợp hai đầu ra 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 kết hợp phức tạp, chẳng hạn như các thao tác dựa trên chế độ kết hợp Porter-Duff. Bằng cách giảm nhu cầu thay đổi đối tượng trạng thái quy trình thường xuyên, tính năng kết hợp nguồn kép có thể nâng cao hiệu suất và tính linh hoạt.
Web Serial: thuộc tính connected
và sự kiện kết nối RFCOMM
Tính năng này sẽ thêm một thuộc tính SerialPort.connected
boolean. Thuộc tính này sẽ trả về true
nếu cổng nối tiếp được kết nối hợp lý. Đối với cổng nối tiếp có dây, cổng được kết nối về mặt logic nếu cổng được đính kèm 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 hợp lý 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ổng nối tiếp Bluetooth RFCOMM sẽ điều phối các sự kiện này khi cổng được kết nối hoặc ngắt kết nối theo logic.
Tính năng này nhằm cho phép các ứng dụng phát hiện thời điểm có cổng nối tiếp Bluetooth RFCOMM mà không cần mở cổng.
Tìm hiểu thêm trong phần Nội dung cập nhật về Bluetooth RFCOMM 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 bản dùng thử theo nguyên gốc mới sau đây.
API Trình phát hiện ngôn ngữ
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 theo thứ tự cho các định dạng chứng thực thông tin xác thực trong trường attestationFormats
mới. Tính năng này cho phép hỗ trợ việc này trên Android, nơi các trình cung cấp khoá truy cập có thể hỗ trợ nhiều định dạng.
Đăng ký dùng thử attestationFormats WebAuthn.
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, các tính năng ngừng hoạt động hiện tại và các tính năng đã bị xoá trước đây.
Bản phát hành Chrome này xoá một tính năng.
Xoá expectedImprovement
trong DelegatedInkTrailPresenter
Thuộc tính expectedImprovement
cho nhà phát triển web biết mức độ cải thiện mà API DelegatedInkTrails sẽ mang lại cho độ trễ mực hiện tại của họ. Tuy nhiên, thuộc tính này không đáng để tăng độ hỗn loạn của vân tay số.
Bản phát hành Chrome này không còn sử dụng một tính năng.
Ngừng sử dụng phương thức requestAdapterInfo()
GPUAdapter không chuẩn
Phương thức không đồng bộ requestAdapterInfo()
trong WebGPU là thừa vì nhà phát triển đã có thể đồng bộ lấy GPUAdapterInfo
bằng cách sử dụng thuộc tính GPUAdapter
info
.