Ngày phát hành phiên bản ổn định: Ngày 29 tháng 4 năm 2025
Trừ khi có ghi chú khác, các thay đổi sau đây sẽ áp dụng cho bản phát hành kênh chính thức Chrome 136 dành cho Android, ChromeOS, Linux, macOS và Windows.
HTML và DOM
Hỗ trợ ngôn ngữ cho CanvasTextDrawingStyles
Phần tử DOM <canvas>
, giống như tất cả các phần tử DOM, chấp nhận thuộc tính lang
dùng để xác định cách xử lý cụ thể theo ngôn ngữ cho lựa chọn phông chữ (khi phông chữ có các ký tự riêng theo ngôn ngữ). Các trình duyệt tuân thủ thuộc tính này. Tuy nhiên, khi tạo OffscreenCanvas
, bạn không thể đặt thông tin ngôn ngữ, điều này có thể dẫn đến trạng thái trong đó canvas ngoài màn hình tạo ra kết quả kết xuất khác với canvas mà kết quả của canvas đó được sử dụng. Tính năng này thêm thuộc tính IDL lang
vào CanvasTextDrawingStyles
để nhà phát triển có quyền kiểm soát trực tiếp ngôn ngữ cho việc vẽ văn bản và các chỉ số.
Theo dõi lỗi #385006131 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
CSS và giao diện người dùng
Thuộc tính dynamic-range-limit
Cho phép một trang giới hạn độ sáng tối đa của nội dung HDR.
Theo dõi lỗi #1470298 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Nhật ký đường liên kết :visited
của phân vùng
Để loại bỏ việc rò rỉ nhật ký duyệt web của người dùng, các phần tử neo chỉ được tạo kiểu là :visited
nếu trước đó người dùng đã nhấp vào các phần tử đó từ trang web cấp cao nhất và nguồn khung này.
Có một ngoại lệ đối với "đường liên kết tự liên kết", trong đó các đường liên kết đến các trang của chính trang web có thể được định kiểu là :visited
ngay cả khi người dùng chưa từng nhấp vào các đường liên kết đó trong trang web cấp cao nhất và nguồn gốc khung chính xác này. Trường hợp ngoại lệ này chỉ được bật trong các khung cấp cao nhất hoặc khung con có cùng nguồn gốc với khung cấp cao nhất.
Các lợi ích về quyền riêng tư vẫn được đảm bảo vì các trang web đã biết người dùng đã truy cập trang con nào, do đó, không có thông tin mới nào được tiết lộ. Đây là trường hợp ngoại lệ do cộng đồng yêu cầu để cải thiện trải nghiệm người dùng.
Theo dõi lỗi #1448609 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
print-color-adjust
chưa có tiền tố
Thuộc tính print-color-adjust
cho phép bạn điều chỉnh màu sắc trong các trang web được in.
Tên này giống với -webkit-print-color-adjust
đã được Chrome hỗ trợ, nhưng có tên được chuẩn hoá.
Phiên bản có tiền tố -webkit-
sẽ không bị xoá.
Tài liệu MDN | Theo dõi lỗi #376381169 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Đổi tên loại string
attr()
thành raw-string
Nhóm làm việc CSS đã quyết định thay thế loại string
attr()
bằng
raw-string
.
Do đó, từ Chrome 136, attr(data-foo string)
trở thành
attr(data-foo raw-string)
.
Theo dõi lỗi #400981738 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Phương thức dự phòng var()
không phụ thuộc vào loại
Phần dự phòng của hàm var()
không xác thực theo loại thuộc tính tuỳ chỉnh đang được tham chiếu.
Theo dõi lỗi #372475301 | Mục nhập ChromeStatus.com
API web
Điều phối sự kiện nhấp chuột đến con trỏ đã chụp
Nếu một con trỏ được ghi lại trong khi sự kiện pointerup
đang được gửi, thì sự kiện click
hiện sẽ được gửi đến mục tiêu đã ghi lại thay vì đối tượng cấp trên chung gần nhất của sự kiện pointerdown
và pointerup
theo thông số kỹ thuật của Sự kiện giao diện người dùng.
Đối với con trỏ không được ghi lại, mục tiêu click
vẫn không thay đổi.
Theo dõi lỗi #40851596 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Gợi ý biên dịch rõ ràng bằng nhận xét ma thuật
Cho phép đí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 trong các tệp JavaScript.
Thông tin được mã hoá dưới dạng nhận xét ma thuật.
Theo dõi lỗi #13917 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Tích hợp trình khởi tạo điều hướng vào khoá phân vùng bộ nhớ đệm HTTP
Lược đồ khoá bộ nhớ đệm HTTP của Chrome được cập nhật để bao gồm một boolean is-cross-site-main-frame-navigation
nhằm giảm thiểu các cuộc tấn công rò rỉ trên nhiều trang web liên quan đến hoạt động điều hướng cấp cao nhất.
Cụ thể, điều này sẽ ngăn chặn các cuộc tấn công trên nhiều trang web, trong đó kẻ tấn công có thể bắt đầu thao tác điều hướng cấp cao nhất đến một trang nhất định, sau đó điều hướng đến một tài nguyên được biết là được trang tải để suy luận thông tin nhạy cảm bằng cách sử dụng thời gian tải. Thay đổi này cũng cải thiện quyền riêng tư bằng cách ngăn một trang web độc hại sử dụng thao tác điều hướng để suy luận xem người dùng đã từng truy cập vào một trang web nhất định hay chưa.
Theo dõi lỗi #398784714 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Protected Audience: trình trợ giúp chuyển đổi văn bản
Các tập lệnh đặt giá thầu và tính điểm của Protected Audience giao diện với WebAssembly cần chuyển đổi dữ liệu kiểu chuỗi thành (và từ) các mảng byte một cách hiệu quả (ví dụ: để truyền chuỗi vào và ra khỏi WebAssembly bằng ArrayBuffer "bộ nhớ"). Điều này cung cấp hai hàm độc lập, protectedAudience.encodeUtf8
và protectedAudience.decodeUtf8
để thực hiện các tác vụ này hiệu quả hơn nhiều so với việc thực hiện trong JavaScript.
RegExp.escape
RegExp.escape là một phương thức tĩnh lấy một chuỗi và trả về một phiên bản đã thoát có thể được dùng làm mẫu bên trong một biểu thức chính quy.
Ví dụ:
const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));
Mục trên ChromeStatus.com | Thông số kỹ thuật
Quy tắc suy đoán: trường thẻ
Điều này cho phép nhà phát triển thêm trường thẻ vào quy tắc dự đoán. Bạn có thể sử dụng trường không bắt buộc này để theo dõi nguồn của các quy tắc suy đoán. Ví dụ: để xử lý các yêu cầu này theo cách khác nhau tại một máy chủ trung gian. Mọi thẻ liên kết với một thông tin suy đoán sẽ được gửi cùng với tiêu đề Sec-Speculation-Tags
.
Theo dõi lỗi #381687257 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Cập nhật ProgressEvent để sử dụng loại kép cho loaded
và total
ProgressEvent có các thuộc tính loaded
và total
cho biết tiến trình và loại của các thuộc tính này hiện là unsigned long long
.
Với tính năng này, loại của hai thuộc tính này sẽ được thay đổi thành double
, giúp nhà phát triển có nhiều quyền kiểm soát hơn đối với giá trị. Ví dụ: giờ đây, nhà phát triển có thể tạo ProgressEvent với total
là 1 và loaded
tăng dần từ 0 đến 1. Điều này phù hợp với hành vi mặc định của phần tử HTML <progress>
nếu bạn bỏ qua thuộc tính max.
Mục trên ChromeStatus.com | Thông số kỹ thuật
Quyền riêng tư và bảo mật
Báo cáo Chính sách về quyền cho iframe
Giới thiệu một loại lỗi vi phạm mới có tên là "Potential Permissions Policy violation" (Vi phạm chính sách về quyền tiềm ẩn). Loại lỗi này sẽ chỉ xem xét Chính sách về quyền (bao gồm cả chính sách chỉ báo cáo) và thuộc tính allow
được đặt trong iframe để phát hiện xung đột giữa Chính sách về quyền được thực thi so với các quyền được truyền đến iframe.
Theo dõi lỗi #40941424 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Giảm hoạt động tạo vân tay số trong thông tin tiêu đề Accept-Language
Giảm lượng thông tin mà chuỗi giá trị tiêu đề Accept-Language
hiển thị trong các yêu cầu HTTP và trong navigator.languages. Thay vì gửi toàn bộ danh sách ngôn ngữ mà người dùng ưu tiên trên mỗi yêu cầu HTTP, giờ đây, Chrome sẽ gửi ngôn ngữ mà người dùng ưu tiên nhất trong tiêu đề Accept-Language.
Theo dõi lỗi #1306905 | Mục nhập ChromeStatus.com
của bản thân
Nội dung cập nhật về FedCM
Cho phép FedCM hiển thị nhiều nhà cung cấp danh tính trong cùng một hộp thoại, bằng cách đưa tất cả nhà cung cấp vào cùng một lệnh gọi get()
. Điều này giúp nhà phát triển có một cách thuận tiện để trình bày tất cả các nhà cung cấp dịch vụ danh tính được hỗ trợ cho người dùng.
Chrome 136 cũng xoá tính năng hỗ trợ thêm tài khoản khác ở chế độ thụ động FedCM. Tính năng này cho phép hiển thị nút sử dụng một tài khoản khác cùng với các tài khoản IdP khác trong bộ chọn. Tính năng này hiện không được sử dụng và các cuộc trò chuyện về trải nghiệm người dùng đã khiến chúng tôi tin rằng việc hỗ trợ tính năng này sẽ dẫn đến một quy trình phức tạp hơn mà không mang lại nhiều lợi ích. Tính năng này vẫn sẽ hoạt động ở chế độ FedCM đang hoạt động.
Theo dõi lỗi #1348262 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Tạo có điều kiện xác thực web (nâng cấp khoá truy cập)
Yêu cầu tạo có điều kiện WebAuthn cho phép các trang web nâng cấp thông tin xác thực bằng mật khẩu hiện có lên khoá truy cập.
Theo dõi lỗi #377758786 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Hình ảnh và nội dung nghe nhìn
AudioContext
Trạng thái bị gián đoạn
Thêm trạng thái "interrupted"
vào AudioContextState
. Trạng thái mới này cho phép Trình đại diện người dùng tạm dừng phát trong khi truy cập độc quyền vào âm thanh (VoIP) hoặc khi đóng nắp máy tính xách tay.
Theo dõi lỗi #374805121 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Điều khiển giao diện được chụp
Một API web cho phép các ứng dụng web:
- Chuyển tiếp các sự kiện về bánh xe đến một thẻ đã ghi lại.
- Đọc và thay đổi mức thu phóng của thẻ đã chụp.
Theo dõi lỗi #1466247 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
CapturedSurfaceResolution
Hiển thị tỷ lệ pixel của nền tảng được chụp trong khi chia sẻ màn hình.
Tính năng này giúp các ứng dụng tiết kiệm tài nguyên hệ thống hoặc điều chỉnh chất lượng theo băng thông theo độ phân giải thực và logic của bề mặt được chụp.
Theo dõi lỗi #383946052 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Hỗ trợ bộ mã hoá và giải mã H265 (HEVC) trong WebRTC
Sau thay đổi này, HEVC sẽ cùng với VP8, H.264, VP9 và AV1 trở thành các bộ mã hoá và giải mã được hỗ trợ trong WebRTC. Bạn có thể truy vấn tính năng hỗ trợ bằng cách sử dụng MediaCapabilities API.
Theo dõi lỗi #391903235 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Nội dung cập nhật về tính năng hỗ trợ bộ mã hoá và giải mã H26x cho MediaRecorder
API MediaRecorder của Chromium hiện hỗ trợ mã hoá HEVC, giới thiệu chuỗi bộ mã hoá và giải mã hvc1.* và thêm các bộ mã hoá và giải mã mới (hev1.* và avc3.*) hỗ trợ video có độ phân giải biến thiên trong MP4.
Thêm tính năng hỗ trợ mã hoá nền tảng HEVC trong WebCodecs trong Chromium M130. Để tiếp nối, chúng tôi đã thêm tính năng hỗ trợ vào MediaRecorder API trong Chromium. API hiện hỗ trợ cả loại trình kết hợp MP4 và Matroska với nhiều thông số kỹ thuật về loại mime HEVC và H.264. Tính năng mã hoá HEVC chỉ được hỗ trợ nếu thiết bị và hệ điều hành của người dùng cung cấp các chức năng cần thiết.
Sử dụng DOMPointInit
cho getCharNumAtPosition
, isPointInFill
, isPointInStroke
Thay đổi này giúp mã Chromium tuân thủ thông số kỹ thuật W3C mới nhất cho SVGGeometryElement
và SVGPathElement
về việc sử dụng DOMPointInit
thay vì SVGPoint
cho getCharNumAtPosition
, isPointInFill
, isPointInStroke
.
Theo dõi lỗi #40572887 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
WebGPU: Thuộc tính GPUAdapterInfo
isFallbackAdapter
Thuộc tính boolean GPUAdapterInfo
isFallbackAdapter
cho biết liệu một bộ chuyển đổi có giới hạn hiệu suất đáng kể hay không để đổi lấy khả năng tương thích rộng hơn, hành vi dễ dự đoán hơn hoặc quyền riêng tư được cải thiện. Xin lưu ý rằng có thể không có bộ chuyển đổi dự phòng trên một số hệ thống.
Theo dõi lỗi #403172841 | Mục nhập ChromeStatus.com | Thông số kỹ thuật
Thay đổi về trình duyệt
Thanh cuộn Fluent
Tính năng này hiện đại hoá thanh cuộn Chromium (cả lớp phủ và không phải lớp phủ) trên Windows và Linux để phù hợp với ngôn ngữ thiết kế Fluent của Windows 11.
Theo mặc định, thanh cuộn Fluent không phủ sẽ được bật trong Linux và Windows. Thay đổi này cũng áp dụng cho Linux vì thiết kế thanh cuộn Linux của Chromium trước đây đã được điều chỉnh cho phù hợp với thiết kế trên Windows. Chúng tôi vẫn đang quyết định cách hiển thị tính năng bật thanh cuộn Fluent phủ lên.
Theo dõi lỗi #1292117 | Mục nhập ChromeStatus.com
Bản dùng thử theo nguyên gốc
Audio Output Devices API: setDefaultSinkId()
Tính năng này thêm setDefaultSinkId()
vào MediaDevices
, cho phép khung cấp cao nhất thay đổi thiết bị đầu ra âm thanh mặc định mà các khung con sử dụng.
Origin Trial | Mục nhập ChromeStatus.com | Spec
Cho phép các ứng dụng web hiểu được thời gian hiệu suất hai pha
Các ứng dụng web có thể bị phân phối hai đỉnh về hiệu suất tải trang, do các yếu tố nằm ngoài tầm kiểm soát của ứng dụng web. Ví dụ:
- Khi khởi chạy lần đầu (trường hợp "khởi động nguội"), tác nhân người dùng phải thực hiện nhiều tác vụ khởi chạy tốn kém để cạnh tranh tài nguyên trên hệ thống.
- Tiện ích trình duyệt có thể ảnh hưởng đến hiệu suất của trang web. Ví dụ: một số tiện ích chạy mã bổ sung trên mọi trang bạn truy cập, điều này có thể làm tăng mức sử dụng CPU và dẫn đến thời gian phản hồi chậm hơn.
- Khi một máy đang bận thực hiện các tác vụ chuyên sâu, việc này có thể dẫn đến việc tải trang web chậm hơn.
Trường confidence
mới trên đối tượng PerformanceNavigationTiming
sẽ cho phép nhà phát triển phân biệt xem thời gian điều hướng có đại diện cho ứng dụng web của họ hay không.
Origin Trial | Tracking bug #1413848 | ChromeStatus.com entry | Spec
Cập nhật việc triển khai kết xuất văn bản Canvas
Đây không phải là thay đổi hiển thị trên web.
Việc triển khai CanvasRenderingContext2D
measureText()
, fillText()
và strokeText()
có sự thay đổi đáng kể. Điều này có thể ảnh hưởng đến hiệu suất, vì vậy, chúng tôi muốn chạy một thử nghiệm gốc để các ứng dụng sử dụng nhiều canvas có thể thử nghiệm cách triển khai mới.
Origin Trial | Tracking bug #389726691 | ChromeStatus.com entry
Ngừng sử dụng và xoá
Xoá HTMLFencedFrameElement.canLoadOpaqueURL()
Phương thức HTMLFencedFrameElement
canLoadOpaqueURL()
đã được thay thế bằng navigator.canLoadAdAuctionFencedFrame()
vào năm 2023 và việc gọi phương thức này đã dẫn đến cảnh báo ngừng hoạt động trên bảng điều khiển kể từ khi trỏ đến API mới. Phương thức này sẽ bị xoá khỏi Chrome 136.