Chrome 140 beta

Xuất bản: Ngày 6 tháng 8 năm 2025

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 140 đang ở giai đoạn thử nghiệm beta kể từ ngày 6 tháng 8 năm 2025. Bạn có thể tải phiên bản mới nhất xuống từ trang web chính thức của Chrome cho máy tính hoặc từ Cửa hàng Google Play trên Android.

CSS và giao diện người dùng

Số học có kiểu CSS

Phép tính có kiểu cho phép bạn viết các biểu thức trong CSS, chẳng hạn như calc(10em / 1px) hoặc calc(20% / 0.5em * 1px). Điều này hữu ích trong kiểu chữ, vì nó cho phép bạn chuyển đổi một giá trị đã nhập thành một giá trị chưa nhập và sử dụng lại giá trị đó cho các thuộc tính chấp nhận số. Một trường hợp sử dụng khác là nhân giá trị không có đơn vị với một loại khác. Ví dụ: bạn có thể truyền từ pixel sang độ.

Thuộc tính scroll-target-group

Thuộc tính scroll-target-group chỉ định xem phần tử có phải là vùng chứa nhóm điểm đánh dấu cuộn hay không. Tham số này chấp nhận một trong các giá trị sau:

  • "none": Phần tử này không thiết lập vùng chứa nhóm điểm đánh dấu cuộn.
  • "auto": Phần tử này thiết lập một vùng chứa nhóm điểm đánh dấu cuộn tạo thành một nhóm điểm đánh dấu cuộn chứa tất cả các phần tử điểm đánh dấu cuộn mà đây là vùng chứa nhóm điểm đánh dấu cuộn tổ tiên gần nhất.

Việc thiết lập một vùng chứa nhóm điểm đánh dấu cuộn cho phép mọi phần tử HTML của điểm neo có một mã nhận dạng mảnh nằm trong vùng chứa đó trở thành HTML tương đương với các phần tử giả ::scroll-marker. Bạn có thể tạo kiểu cho phần tử liên kết có mục tiêu cuộn hiện đang ở trong khung hiển thị bằng cách sử dụng giả lớp :target-current.

Bật counter()counters() trong văn bản thay thế của thuộc tính content

Tính năng này bổ sung khả năng sử dụng counter()counters() trong văn bản thay thế của thuộc tính content. Điều này giúp cung cấp thông tin hữu ích hơn để cải thiện khả năng hỗ trợ tiếp cận.

Các giả lập chuyển đổi khung hiển thị kế thừa nhiều thuộc tính ảnh động hơn

Giờ đây, cây giả của hiệu ứng chuyển đổi khung hiển thị sẽ kế thừa một số thuộc tính ảnh động:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Bật hiệu ứng chuyển đổi khung hiển thị lồng nhau

Tính năng này cho phép các hiệu ứng chuyển đổi khung hiển thị tạo ra một cây phần tử giả lồng nhau thay vì một cây phẳng. Điều này giúp hiệu ứng chuyển đổi khung hiển thị xuất hiện phù hợp hơn với các phần tử ban đầu và ý định về hình ảnh. Điều này cho phép cắt, biến đổi 3D lồng nhau và áp dụng đúng các hiệu ứng như độ mờ, che và bộ lọc.

Truyền khung nhìn overscroll-behavior từ gốc

Thay đổi này sẽ truyền overscroll-behavior từ gốc thay vì nội dung. Nhóm công tác CSS quyết định không truyền các thuộc tính từ <body> sang khung hiển thị. Thay vào đó, các thuộc tính của khung nhìn sẽ truyền từ phần tử gốc (<html>). Do đó, overscroll-behavior sẽ truyền từ phần tử gốc. Tuy nhiên, Chrome có một vấn đề tồn tại từ lâu: trình duyệt này truyền overscroll-behavior từ <body> thay vì từ gốc. Hành vi này không tương tác được với các trình duyệt khác. Thay đổi này giúp Chrome tuân thủ quy cách và tương tác được với các cách triển khai khác.

ScrollIntoView lựa chọn vùng chứa

Lựa chọn vùng chứa ScrollIntoViewOptions cho phép nhà phát triển thực hiện thao tác scrollIntoView chỉ cuộn vùng chứa cuộn tổ tiên gần nhất. Ví dụ: đoạn mã sau đây chỉ cuộn vùng chứa có thể cuộn của target để đưa target vào khung hiển thị, nhưng sẽ không cuộn tất cả vùng chứa có thể cuộn vào khung hiển thị:

target.scrollIntoView({container: 'nearest'});

Thêm thuộc tính caret-animation CSS

Chromium hỗ trợ ảnh động của thuộc tính caret-color. Tuy nhiên, khi được tạo ảnh động, hành vi nhấp nháy mặc định của dấu nháy sẽ ảnh hưởng đến ảnh động.

Thuộc tính caret-animation của CSS có 2 giá trị có thể có: automanual. auto có nghĩa là mặc định của trình duyệt (nhấp nháy) và manual có nghĩa là nhà phát triển kiểm soát ảnh động dấu nháy. Ngoài ra, những người dùng cảm thấy khó chịu hoặc có phản ứng bất lợi với hình ảnh nhấp nháy có thể tắt tính năng nhấp nháy bằng biểu định kiểu người dùng.

API highlightsFromPoint

API highlightsFromPoint cho phép nhà phát triển tương tác với các điểm nổi bật tuỳ chỉnh. Thao tác này phát hiện những phần đánh dấu hiện có tại một điểm cụ thể trong tài liệu. Tính năng tương tác này rất hữu ích đối với các tính năng phức tạp trên web, trong đó nhiều điểm nổi bật có thể chồng lên nhau hoặc nằm trong DOM bóng. Bằng cách cung cấp tính năng phát hiện điểm nổi bật chính xác dựa trên điểm, API này giúp nhà phát triển quản lý các hoạt động tương tác linh hoạt với điểm nổi bật tuỳ chỉnh một cách hiệu quả hơn. Ví dụ: nhà phát triển có thể phản hồi các sự kiện di chuột hoặc lượt nhấp của người dùng vào các vùng được đánh dấu để kích hoạt chú thích tuỳ chỉnh, trình đơn theo bối cảnh hoặc các tính năng tương tác khác.

Thay đổi thời gian hoàn thành của lời hứa về hiệu ứng chuyển đổi chế độ xem

Thời gian hoàn thành lời hứa hiện tại diễn ra trong các bước của vòng đời kết xuất. Điều này có nghĩa là mã chạy do quá trình phân giải lời hứa xảy ra sau khi khung hình trực quan loại bỏ hiệu ứng chuyển đổi khung hiển thị được tạo. Điều này có thể gây ra hiện tượng nhấp nháy ở cuối ảnh động nếu tập lệnh di chuyển các kiểu để duy trì trạng thái tương tự về mặt hình ảnh. Thay đổi này giải quyết vấn đề bằng cách di chuyển các bước dọn dẹp ViewTransition để chạy không đồng bộ sau khi vòng đời hoàn tất.

Thêm thuộc tính nguồn ToggleEvent

Thuộc tính source của ToggleEvent chứa phần tử đã kích hoạt ToggleEvent được kích hoạt (nếu có). Ví dụ: nếu người dùng nhấp vào một phần tử <button> có thuộc tính popovertarget hoặc commandfor được đặt để mở một cửa sổ bật lên, thì ToggleEvent được kích hoạt trên cửa sổ bật lên sẽ có thuộc tính nguồn được đặt thành <button> gọi.

Ngăn SVG foreignObject làm hỏng canvas cho các URL blob

Tất cả các trình duyệt đều hỗ trợ việc sử dụng phần tử <img> có nguồn SVG trong thao tác drawImage canvas HTML. Tuy nhiên, hành vi làm hỏng canvas sẽ khác nhau trên các nền tảng. Tất cả trình duyệt đều làm hỏng canvas khi nguồn SVG có chứa thẻ foreignObject và được tham chiếu bằng một URI HTTP. Khi cùng một SVG được tham chiếu thông qua một URI dữ liệu, tất cả trình duyệt sẽ không làm hỏng canvas. Tuy nhiên, khi sử dụng URI blob, cả Chromium (trước khi có thay đổi này) và WebKit đều làm hỏng canvas, nhưng Gecko thì không. Khi tính năng này được phát hành, hành vi của Chromium sẽ khớp với hành vi của Gecko, cho phép sử dụng nhiều nội dung SVG hơn trong các lệnh gọi drawImage canvas mà không bị ảnh hưởng.

Hỗ trợ bộ mô tả font-variation-settings trong @font-face rule

CSS cho phép nhà phát triển điều chỉnh trọng lượng, chiều rộng, độ nghiêng và các trục khác của phông chữ bằng cách sử dụng thuộc tính font-variation-settings trên từng phần tử. Tuy nhiên, các trình duyệt dựa trên Chromium không hỗ trợ thuộc tính này trong các khai báo @font-face. Tính năng này hỗ trợ cú pháp dựa trên chuỗi cho font-variation-settings như được xác định trong Phông chữ CSS cấp 4. Các thẻ tính năng không hợp lệ hoặc không được nhận dạng sẽ bị bỏ qua theo quy cách. Không hỗ trợ các biểu mẫu nhị phân hoặc không chuẩn. Phông chữ biến đổi đang ngày càng được sử dụng rộng rãi hơn cho cả hiệu suất và tính linh hoạt về kiểu chữ. Việc thêm chế độ hỗ trợ cho bộ mô tả này trong Chromium giúp tăng cường khả năng kiểm soát, giảm sự lặp lại và hỗ trợ một phương pháp hiện đại, có khả năng mở rộng hơn cho kiểu chữ trên web.

Web API

Chuyển đổi Uint8Array sang và từ base64 và hex

Base64 là một cách phổ biến để biểu thị dữ liệu nhị phân tuỳ ý dưới dạng ASCII. JavaScript có Uint8Arrays cho dữ liệu nhị phân. Tuy nhiên, nó thiếu cơ chế tích hợp để mã hoá dữ liệu đó dưới dạng base64 hoặc lấy dữ liệu base64 và tạo ra một Uint8Array tương ứng. Tính năng này bổ sung khả năng và các phương thức để chuyển đổi giữa các chuỗi thập lục phân và Uint8Arrays.

Sử dụng lựa chọn ReadableStreamBYOBReader min

Tính năng này bổ sung một lựa chọn min cho phương thức ReadableStreamBYOBReader.read(view) hiện có. Phương thức này đã chấp nhận một ArrayBufferView mà nó đọc dữ liệu, nhưng hiện không đảm bảo số lượng phần tử được ghi trước khi quá trình đọc phân giải. Bằng cách chỉ định một giá trị min, bạn có thể yêu cầu luồng đợi cho đến khi có ít nhất số lượng phần tử đó trước khi phân giải hoạt động đọc. Điều này giúp cải thiện hành vi hiện tại, trong đó các thao tác đọc có thể giải quyết bằng ít phần tử hơn so với số phần tử mà khung hiển thị có thể chứa.

Trong một số trường hợp, bạn cần phân biệt phía máy chủ giữa cookie do máy chủ đặt và cookie do máy khách đặt. Một trường hợp như vậy liên quan đến cookie thường luôn được máy chủ đặt. Tuy nhiên, mã không mong muốn (chẳng hạn như một lỗ hổng bảo mật XSS, một tiện ích độc hại hoặc một cam kết của nhà phát triển nhầm lẫn) có thể đặt chúng trên máy khách. Đề xuất này bổ sung một tín hiệu cho phép các máy chủ phân biệt như vậy. Cụ thể hơn, nó xác định tiền tố __Http__HostHttp, đảm bảo rằng cookie không được đặt ở phía máy khách bằng tập lệnh.

Quy định hạn chế về quyền truy cập mạng cục bộ

Chrome 140 hạn chế khả năng gửi yêu cầu đến mạng cục bộ của người dùng, yêu cầu phải có lời nhắc cấp quyền. Yêu cầu mạng cục bộ là mọi yêu cầu từ một trang web công khai đến địa chỉ IP cục bộ hoặc vòng lặp, hoặc từ một trang web cục bộ (chẳng hạn như mạng nội bộ) đến vòng lặp. Việc hạn chế khả năng các trang web thực hiện những yêu cầu này bằng một quyền sẽ giảm thiểu nguy cơ xảy ra các cuộc tấn công giả mạo yêu cầu trên nhiều trang web đối với các thiết bị trên mạng cục bộ, chẳng hạn như bộ định tuyến. Chính sách này cũng làm giảm khả năng các trang web sử dụng những yêu cầu này để nhận dạng mạng cục bộ của người dùng. Quyền này chỉ được cấp trong các bối cảnh bảo mật. Nếu được cấp, quyền này cũng sẽ nới lỏng việc chặn nội dung hỗn hợp đối với các yêu cầu mạng cục bộ, vì nhiều thiết bị cục bộ không thể lấy chứng chỉ TLS được tin cậy công khai vì nhiều lý do.

Tìm hiểu thêm trong bài viết Lời nhắc mới về quyền truy cập vào mạng cục bộ.

Cho phép tập lệnh SharedWorker kế thừa trình điều khiển cho URL tập lệnh blob

Quy cách này quy định rằng các worker phải kế thừa trình điều khiển cho URL blob. Tuy nhiên, mã hiện có chỉ cho phép các worker chuyên dụng kế thừa trình điều khiển; các worker dùng chung thì không. Điều này giúp khắc phục hành vi của Chrome để phù hợp với quy cách. Chính sách doanh nghiệp SharedWorkerBlobURLFixEnabled kiểm soát tính năng này.

Thêm ServiceWorkerStaticRouterTimingInfo

Tính năng này bổ sung thông tin về thời gian cho API định tuyến tĩnh ServiceWorker, được hiển thị trong API thời gian điều hướng và API thời gian tài nguyên để nhà phát triển sử dụng. ServiceWorker cung cấp thông tin về thời gian để đánh dấu một số thời điểm nhất định.

Tính năng này bổ sung 2 phần thông tin về thời gian liên quan đến Static routing API:

  • RouterEvaluationStart: Thời gian bắt đầu so khớp một yêu cầu với các quy tắc bộ định tuyến đã đăng ký.
  • CacheLookupStart: Thời gian bắt đầu tra cứu bộ nhớ đệm nếu nguồn là "cache".

Ngoài ra, tính năng này còn bổ sung 2 thông tin về nguồn của bộ định tuyến: nguồn của bộ định tuyến được so khớp và nguồn của bộ định tuyến cuối cùng.

Bật tính năng tạo có điều kiện Xác thực web trên Android (không được phát hành)

Ứng dụng web tách biệt

Giới thiệu Controlled Frame API

Tính năng này bổ sung một Controlled Frame API chỉ dành cho Ứng dụng web tách biệt (IWA). Tương tự như các API có tên tương tự trên các nền tảng khác, Controlled Frame cho phép nhúng tất cả nội dung, ngay cả nội dung của bên thứ ba không thể nhúng vào <iframe>. Controlled Frame cũng cho phép kiểm soát nội dung được nhúng bằng một tập hợp các phương thức và sự kiện API. Để biết thêm thông tin về Ứng dụng web tách biệt, hãy xem phần giải thích về Ứng dụng web tách biệt.

Bản dùng thử theo nguyên gốc mới

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

Thêm sự kiện clipboardchange

Sự kiện clipboardchange sẽ kích hoạt bất cứ khi nào một ứng dụng web hoặc bất kỳ ứng dụng hệ thống nào khác thay đổi nội dung trong bảng nhớ tạm của hệ thống. Điều này cho phép các ứng dụng web như ứng dụng khách máy tính từ xa giữ cho bảng nhớ tạm được đồng bộ hoá với bảng nhớ tạm của hệ thống. Đây là một giải pháp thay thế hiệu quả cho việc kiểm tra bảng nhớ tạm bằng JavaScript để tìm các thay đổi.

Bật thông báo cuộc gọi đến

Tính năng này mở rộng Notifications API để cho phép các PWA đã cài đặt gửi thông báo cuộc gọi đến – thông báo có các nút kiểu cuộc gọi và nhạc chuông. Tiện ích này giúp các ứng dụng web VoIP tạo ra trải nghiệm hấp dẫn hơn bằng cách giúp người dùng dễ dàng nhận ra và trả lời thông báo cuộc gọi. Ngoài ra, tính năng này giúp thu hẹp khoảng cách giữa các hoạt động triển khai gốc và web của những ứng dụng có cả hai.

Giới thiệu API khoá-giá trị Báo cáo sự cố

Tính năng này giới thiệu một API khoá-giá trị mới, tạm thời là window.crashReport, được hỗ trợ bởi một bản đồ cho mỗi tài liệu lưu giữ dữ liệu được thêm vào báo cáo sự cố.

Dữ liệu được đặt trong bản đồ hỗ trợ của API này sẽ được gửi trong CrashReportBody nếu có bất kỳ quy trình kết xuất nào gặp sự cố trên trang web. Điều này cho phép nhà phát triển gỡ lỗi trạng thái cụ thể trong ứng dụng của họ có thể gây ra một sự cố nhất định.

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

Phiên bản Chrome này giới thiệu các tính năng không dùng nữa và bị xoá như được liệt kê bên dưới. Truy cập 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 không dùng một tính năng.

Không dùng các quy tắc đặc biệt về cỡ chữ cho <h1> trong một số phần tử

Quy cách HTML có một danh sách các quy tắc đặc biệt cho thẻ <h1> được lồng trong các phần tử <article>, <aside>, <nav> hoặc <section>.

Các quy tắc đặc biệt này không được dùng nữa vì gây ra các vấn đề về khả năng tiếp cận. Cụ thể là chúng giảm kích thước phông chữ một cách trực quan cho các <h1> lồng nhau để chúng trông giống như <h2>, nhưng không có gì trong cây hỗ trợ tiếp cận phản ánh thay đổi trực quan này.