Điều gì đang xảy ra trong Tiện ích của Chrome?

Amy Steam
Amy Steam

Tới nay, năm 2023 là một năm bận rộn với các tiện ích của Chrome. Ý kiến phản hồi hữu ích của bạn đã cho phép chúng tôi cải thiện nền tảng tiện ích và tài liệu của mình. Chúng tôi cũng tiếp tục cộng tác với các nhà cung cấp trình duyệt khác trong Nhóm cộng đồng WebExtensions để các API tiện ích hoạt động nhất quán hơn trên các trình duyệt.

Trong bài đăng này, chúng tôi sẽ chia sẻ với bạn một vài thay đổi mà nhóm tiện ích của Chrome đã thực hiện trong nửa đầu năm nay và những tính năng sắp ra mắt nào sẽ được phát hành vào cuối quý này. Bắt đầu nào!

Các tính năng và API tiện ích mới

Trong phần này, tôi muốn nêu bật một số bản phát hành API quan trọng, đánh giá ngắn gọn các cải tiến API khác và chia sẻ các bản phát hành API sắp tới.

Tiêu điểm

Tài liệu ngoài màn hình

API ngoài màn hình được ra mắt trong Chrome 109. API này cho phép các tiện ích Manifest V3 xử lý các trường hợp sử dụng cần tương tác với DOM hoặc cửa sổ, vốn không thể thực hiện trong trình chạy dịch vụ tiện ích. Ngoài ra, Chrome 114 cũng ra mắt hai lý do khác ngoài màn hình: 'WORKERS' cho các trường hợp khi tài liệu của bạn cần tạo một trình thực thi (worker) và 'LOCAL_STORAGE' để giúp di chuyển dữ liệu từ window.localStorage sang API chrome.storage.

Kể từ Chrome 115, bạn có thể đưa ra nhiều lý do khi tạo tài liệu ngoài màn hình. Điều này cho phép bạn thực hiện hai tác vụ liên quan trong cùng một tài liệu.

API Bảng điều khiển bên mới 🎉

Trước đây, cách duy nhất để tạo thanh bên trong tiện ích là chèn một phần tử mới có tập lệnh nội dung trên mỗi trang. Trong Chrome 114, API Bảng điều khiển bên đã được khởi chạy. Giờ đây, bạn có thể phát triển trải nghiệm thanh bên đồng hành cho người dùng theo cách đơn giản hơn nhiều. Đọc thêm về cách API Bảng điều khiển bên cho phép bạn thiết kế trải nghiệm người dùng vượt trội.

Tiện ích từ điển hiển thị định nghĩa của một từ đã chọn
Tiện ích từ điển trên bảng điều khiển bên. Xem trong kho lưu trữ chrome-extensions-samples.

Trình chạy dịch vụ mạnh mẽ hơn

Giờ đây, tất cả các sự kiện tiện ích sẽ khởi động lại bộ tính giờ ở trạng thái rảnh của trình chạy dịch vụ tiện ích. Trong Chrome 110, thời gian tồn tại tối đa cố định là 5 phút đã bị loại bỏ đối với worker dịch vụ tiện ích. Ngoài ra, các thông báo tới ứng dụng gốcthông báo trong tiện ích sẽ khởi động lại đồng hồ hẹn giờ ở trạng thái rảnh. Hãy đọc thêm về vấn đề này trong bài viết Vòng đời của trình chạy dịch vụ tiện ích.

Các lần phát hành API khác

  • API Hành động: Kể từ Chrome 110, bạn có thể tuỳ chỉnh văn bản huy hiệu bằng setBadgeTextColor()getBadgeTextColor(). Ngoài ra, isEnabled() cho phép bạn kiểm tra xem thao tác này đã được bật cho thẻ hiện tại hay chưa.
  • Commands API: Trong Chrome 111, đã khắc phục lỗi lối tắt tiện ích được khai báo trong tệp kê khai dưới "commands._execute_action", không tồn tại trong quá trình chuyển đổi thành MV3.
  • API tải xuống: Giao diện người dùng tải xuống mặc định trong Chrome đã di chuyển từ một kệ ở dưới cùng sang bên phải thanh địa chỉ. Để vô hiệu hoá hành vi này, bạn có thể dùng downloads.setUiOptions() để thay thế setShelfEnabled().
  • API lịch sử: chrome.history.getVisits()chrome.history.search() cũng trả về dữ liệu từ các thiết bị khác đã được đồng bộ hoá với cơ sở dữ liệu nhật ký cục bộ. Điều này có thể dẫn đến nhiều mục nhập nhật ký hơn và số lượt truy cập cao hơn. isLocal đã được thêm vào VisitItem trong Chrome 115 (dự kiến sẽ ổn định vào cuối tháng này) để chỉ có thể lọc theo lượt truy cập địa phương.
  • Identity API: Cửa sổ xác thực giờ đây sẽ xuất hiện dưới dạng cửa sổ bật lên, thay vì chiếm toàn bộ cửa sổ ứng dụng. Để cấp thêm quyền kiểm soát trong quá trình chuyển hướng JavaScript, chúng tôi đã thêm hai tuỳ chọn mới: abortOnLoadForNonInteractivetimeoutMsForNonInteractive.
  • Storage API: Trong Chrome 112, kích thước bộ nhớ chrome.session đã tăng lên 10 MB. Sau đó, kích thước bộ nhớ chrome.local được thay đổi cho phù hợp với kích thước trong Chrome 114.

Sắp có...

Các phiên bản Chrome sắp ra mắt sẽ ra mắt nhiều tính năng giúp các tiện ích di chuyển sang Manifest V3 dễ dàng hơn. Để biết danh sách các thay đổi sắp tới liên quan đến việc di chuyển MV3, hãy tham khảo trang các vấn đề đã biết. Ngoài ra, chúng tôi dự định thêm các tính năng sau:

  • DeclarativeNetRequest API: Giá trị mặc định cho thuộc tính isUrlFilterCaseSensitive sẽ thay đổi thành false. Xem chuỗi WECG.
  • API xử lý tệp sẽ cho phép tiện ích ChromeOS mở những tệp có loại MIME và đuôi tệp được chỉ định. Tính năng này hiện phía sau lá cờ.
  • API thời gian chạy: Chúng tôi phát hành runtime.getContexts() để thay thế extension.getViews() đã ngừng hoạt động. Điều này sẽ cho phép các tiện ích xác định xem một trang tiện ích như bảng điều khiển bên hoặc tài liệu ngoài màn hình có đang mở hay không. Hãy xem đề xuất WECG.
  • Trình chạy dịch vụ: Chúng tôi đang thêm các chức năng duy trì mạnh mẽ vào các API Chrome để hiển thị lời nhắc cho người dùng: permissions.request(), desktopCapture.chooseDesktopMedia(), identity.launchWebAuthFlow()management.uninstall().
  • API Bảng điều khiển bên: Chúng tôi sẽ ra mắt sidepanel.open(). API này sẽ mở bảng điều khiển bên của tiện ích theo phương thức lập trình để phản hồi cử chỉ của người dùng, chẳng hạn như lượt nhấp vào trình đơn theo bối cảnh.
  • API TabCapture: Chúng tôi đang thêm khả năng gọi getMediaStreamId() từ trình chạy dịch vụ tiện ích và lấy MediaStream từ mã luồng trong một tài liệu ngoài màn hình. Xem bài viết Ghi âm và ghi màn hình để biết ví dụ.

Hãy chú ý theo dõi trang Tính năng mới trong tiện ích dành cho các thông báo này ngay khi chúng được cung cấp trong Chrome Beta.

Nâng cấp tài liệu và hướng dẫn khác về Manifest V3

Chúng tôi cũng đang nỗ lực để cải thiện trải nghiệm học tập của nhà phát triển. Xin chân thành cảm ơn tất cả các bạn đã dành thời gian đặt câu hỏi về nhóm chrome và báo cáo các vấn đề về tài liệu trên developer.chrome.com.

Tiêu điểm

  • Phần Di chuyển MV3 mới cung cấp các cách thiết thực để chuyển đổi tiện ích Manifest V2 sang Manifest V3.
  • Hướng dẫn Trình chạy dịch vụ tiện ích cung cấp thông tin chi tiết về các chủ đề của trình chạy dịch vụ tiện ích. Những chính sách này bao gồm cách đăng ký và cập nhật, hình thức của vòng đời, cách hoạt động của tính năng nhập và nhiều nội dung khác.
  • Hướng dẫn Xử lý sự kiện bằng trình chạy dịch vụ hướng dẫn kiến thức cơ bản về trình chạy dịch vụ mở rộng. Tiện ích này tạo một tiện ích thanh địa chỉ giúp bạn truy cập nhanh vào các trang tham khảo API tiện ích.

Nội dung cập nhật khác

Sắp có...

  • Cách di chuyển mã được lưu trữ từ xa sang Manifest V3.
  • Cách chạy kiểm thử tự động cho các tiện ích của Chrome.
  • Cải thiện hướng dẫn về Yêu cầu ròng khai báo.
  • Cải tiến phần giải thích tập lệnh nội dung.

💡 Bạn có biết?

Trước khi kết thúc, chúng tôi muốn chia sẻ một số công cụ và thông tin chi tiết hữu ích:

  • Chrome đã bắt đầu hỗ trợ WebHID; bạn có thể thử nghiệm với API kể từ Chrome 115 (nhưng vui lòng lưu ý rằng API này vẫn đang trong quá trình hoàn thiện).
  • Puppeteer hiện hỗ trợ kiểm thử ở chế độ không có giao diện người dùng bằng --headless=new . Đọc thêm về vấn đề này trong bài đăng trên blog về bản nâng cấp chế độ không có giao diện người dùng của Chrome.
  • Với Công cụ kiểm tra cập nhật tiện ích, bạn có thể kiểm tra xem cảnh báo nào được kích hoạt khi quyền thay đổi trong tệp kê khai. Bằng cách này, bạn có thể trải nghiệm quá trình cập nhật như người dùng. Việc này rất quan trọng vì một số quyền có thể vô hiệu hoá tiện ích cho đến khi người dùng cấp lại quyền truy cập.

Hãy cùng kết nối! 🙌

Năm nay, nhóm phụ trách tiện ích rất vui được trực tiếp gặp gỡ các nhà phát triển tiện ích trong các sự kiện Google I/O Connect. Chúng tôi đang nỗ lực tạo ra không gian mới để kết nối với bạn, chẳng hạn như triển khai các nhóm tập trung và sự kiện gặp mặt.

Trong thời gian chờ đợi, vui lòng tiếp tục đặt câu hỏi về chromium-groups, cân nhắc việc tham gia WECG và báo cáo mọi vấn đề về tài liệu trên kho lưu trữ GitHubdeveloper.chrome.com.

Một lần nữa, cảm ơn bạn đã tham gia cộng đồng nhà phát triển tiện ích!