Tính năng mới trong Chrome 120 dành cho tiện ích

Chrome 120 hiện có bản beta và bao gồm nhiều bản cập nhật thú vị dành cho nhà phát triển Tiện ích Chrome.

Đây là một năm bận rộn đối với nhóm Tiện ích của Chrome. Với bản phát hành Chrome 120 Beta ngày hôm qua, nền tảng tiện ích này đang tạo ra một bước tiến lớn nữa. Để biết thông tin tổng quan về những thay đổi trong năm nay, hãy xem thông tin cập nhật hằng quý của chúng tôi từ tháng 7tháng 10. Đọc tiếp để biết những tính năng mới trong Chrome 120 dành cho Tiện ích.

Thu hẹp khoảng cách với nền tảng

Với việc phát hành Chrome 120, chúng tôi sẽ bổ sung những nền tảng còn thiếu sót trên trang Các vấn đề đã biết của Manifest V3. API userScript mới cũng như tính năng hỗ trợ xử lý tệp trên ChromeOS là hai mục còn lại trong danh sách mà giờ đây chúng tôi có thể bỏ qua. Cùng với những thay đổi được mô tả trong bản cập nhật hàng quý trước, chúng tôi thực sự hài lòng về tình trạng hiện tại của nền tảng Tiện ích Chrome và những gì chúng tôi đã đạt được trong năm qua.

API userScripts mới

Đã ngừng hỗ trợ tập lệnh người dùng! Tập lệnh người dùng là các đoạn mã (thường tương đối nhỏ) mà tiện ích có thể chèn vào các trang web để sửa đổi giao diện hoặc hành vi của trang. Các tập lệnh này có thể được người dùng trực tiếp tạo hoặc tìm thấy trong một số kho lưu trữ tập lệnh người dùng trên web. Kể từ Chrome 120, các tiện ích Manifest V3 của Chrome có thể quản lý tập hợp tập lệnh người dùng, đồng thời xác định thời điểm và cách thức chèn tập lệnh đó vào trang web.

Có một sự khác biệt đáng kể giữa tính năng hỗ trợ tập lệnh người dùng trong Manifest V2 và Manifest V3. Vì tập lệnh người dùng có sức mạnh và đòi hỏi sự tin tưởng cao đối với tác giả của tập lệnh người dùng, nhóm Chrome đã quyết định rằng người dùng phải chọn tham gia Chế độ nhà phát triển trước khi có thể chạy tập lệnh người dùng.

Trang Phần mở rộng
Trang tiện ích (chrome://extensions)

Mẫu userScript mới của chúng tôi minh hoạ một phương pháp đơn giản giúp phát hiện xem Chế độ nhà phát triển có được bật hay không và cung cấp quy trình làm quen đơn giản.

Quy trình tham gia mẫu cho tập lệnh của người dùng.
Giới thiệu người dùng khi Chế độ nhà phát triển tắt.

Để bắt đầu, hãy xem tài liệu hoặc mẫu chính thức.

Giới hạn cao hơn của bộ quy tắc DNR tĩnh

Chúng tôi đã tăng đáng kể giới hạn về số lượng quy tắc tĩnh được bật từ 10 lên 50. Ngoài ra, chúng tôi cũng tăng tổng số bộ quy tắc tĩnh được phép từ 50 lên 100. Đây là thư trả lời cho ý kiến phản hồi mà chúng tôi nhận được trong Nhóm cộng đồng về Tiện ích web.

API ReadList mới

Chrome ra mắt danh sách đọc vào năm 2021. Năm ngoái, nhóm Chrome đã giúp việc truy cập vào danh sách đọc thậm chí còn dễ dàng hơn thông qua bảng điều khiển bên. Với Chrome 120, chúng tôi sẽ thêm tính năng cho Tiện ích của Chrome để tạo, đọc, cập nhật và xoá các mục trong danh sách đọc. Để tìm hiểu thêm, hãy xem tài liệu về APImẫu mới của chúng tôi.

Danh sách đọc của Chrome hiển thị các trang tài liệu tiện ích.
Bảng điều khiển bên của danh sách đọc trên Chrome.

Xử lý tệp trên ChromeOS

Tính năng xử lý tệp cho phép các tiện ích mở các tệp có loại MIME được chỉ định và đuôi tệp được chỉ định theo cách tương tự với cách xử lý tệp trên nền tảng web. Hãy xem bài viết Xử lý tệp trên ChromeOS để biết thêm về cách sử dụng.

Ảnh chụp màn hình tệp đang mở có hộp thoại tiện ích trên ChromeOS
Mở tệp trong một tiện ích trên ChromeOS.

Kích hoạt chuông báo sau 30 giây

Đây là một bản cập nhật nhỏ nhưng giải quyết một lỗ hổng quan trọng trong vòng đời trình chạy dịch vụ. Do tính chất hoạt động dựa trên sự kiện của trình chạy dịch vụ, bạn nên sử dụng chrome.alarms để kích hoạt một sự kiện trong tương lai. Báo thức API đảm bảo rằng sự kiện sẽ được kích hoạt ngay cả khi trình chạy dịch vụ tắt trong thời gian chờ đợi.

Tuy nhiên, vẫn có một khoản thu nhập. Trước Chrome 120, khoảng thời gian ngắn nhất để kích hoạt chuông báo là 1 phút. Tuy nhiên, dịch vụ sẽ tắt sau 30 giây không hoạt động. Vì vậy, không có cách đơn giản nào để lên lịch chuông báo kích hoạt trong 45 giây, vì khi sử dụng setTimeout() để đặt một sự kiện trong 45 giây, trình chạy dịch vụ có thể bị tắt trước khi sự kiện kích hoạt.

Kể từ Chrome 120, giờ đây, bạn có thể kích hoạt sự kiện trong:

  • chưa đến 30 giây bằng setTimeout().
  • bất kỳ giá trị nào dài hơn hoặc bằng 30 giây bằng chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Tóm tắt

Chúng tôi rất vui mừng về những bước tiến mà nền tảng mở rộng này đã đạt được trong năm qua. Chrome 120 là một bước tiến lớn khác với việc tăng giới hạn DNR và hỗ trợ tập lệnh người dùng.