Cho đến nay, năm 2023 là một năm bận rộn trong thị trường tiện ích của Chrome. Ý kiến phản hồi hữu ích của bạn đã giú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 WebTiện ích để 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 số 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 sẽ được phát hành vào cuối quý này. Hãy bắt đầu nào!
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ố đợt ra mắt API quan trọng, xem xét ngắn gọn những điểm cải tiến khác về API và chia sẻ các bản phát hành API sắp tới.
Điểm nổi bật
Tài liệu ngoài màn hình
API ngoài màn hình ra mắt trong Chrome 109. Nó cho phép 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ổ mà không thể thực hiện được trong trình chạy dịch vụ tiện ích. Ngoài ra, Chrome 114 đưa ra thêm hai lý do ngoài màn hình: 'WORKERS'
cho các trường hợp tài liệu cần tạo một worker và 'LOCAL_STORAGE'
để giúp di chuyển dữ liệu từ window.localStorage
sang chrome.storage
API.
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. Nhờ vậy, bạn có thể thực hiện hai tác vụ có 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ùng với tập lệnh nội dung trên mỗi trang. Trong Chrome 114, chúng tôi đã ra mắt API Bảng điều khiển bên. 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 Side Panel API (API Bảng điều khiển bên) giúp bạn thiết kế một trải nghiệm người dùng vượt trội.
Nhiều Trình chạy dịch vụ mạnh mẽ hơn
Bây giờ, tất cả sự kiện tiện ích sẽ khởi động lại bộ hẹn giờ ở trạng thái rảnh của trình chạy dịch vụ tiện ích. Trong Chrome 110, chúng tôi đã loại bỏ thời gian hoạt động tối đa cố định trong 5 phút đối với trình thực thi dịch vụ tiện ích. Ngoài ra, các tin nhắn tới ứng dụng gốc và tin nhắn trong tiện ích sẽ khởi động lại bộ tính giờ ở trạng thái rảnh. Đọ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 đợt ra mắt API khác
- API Thao tác: Kể từ Chrome 110, bạn có thể tuỳ chỉnh văn bản huy hiệu bằng
setBadgeTextColor
() và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: Lỗi khiến các lối tắt tiện ích (được khai báo trong tệp kê khai dưới
"commands._execute_action"
) sẽ không tồn tại trong quá trình chuyển đổi sang MV3, đã được khắc phục trong Chrome 111. - API tải xuống: Giao diện người dùng tải xuống mặc định trong Chrome đã 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ể sử dụng
downloads.setUiOptions()
để thay thếsetShelfEnabled()
. - API Lịch sử:
chrome.history.getVisits()
và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ý trên máy. Điều này có thể giúp tăng số mục nhập nhật ký và số lượt truy cập.isLocal
đã được thêm vàoVisitItem
trong Chrome 115 (dự kiến ổn định vào cuối tháng này) để chỉ có thể lọc theo lượt ghé thăm địa phương. - Identity API: Cửa sổ xác thực giờ đây 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. Để bạn có 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:
abortOnLoadForNonInteractive
vàtimeoutMsForNonInteractive
. - API Bộ nhớ: Trong Chrome 112, dung lượng lưu trữ của
chrome.session
đã tăng lên 10 MB. Sau đó, kích thước bộ nhớchrome.local
đã được thay đổi để phù hợp với trong Chrome 114.
Sắp có...
Các phiên bản Chrome sắp tới sẽ giới thiệu nhiều tính năng, giúp các tiện ích di chuyển sang Manifest V3 dễ dàng hơn. Để xem danh sách những thay đổi sắp tới liên quan đến việc di chuyển sang MV3, hãy xem trang các vấn đề đã biết. Ngoài ra, chúng tôi dự định sẽ 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 bài đăng về WECG. - API xử lý tệp sẽ cho phép các tiện ích của ChromeOS mở tệp có các loại MIME và đuôi tệp đã chỉ định. Tính năng này hiện phía sau một lá cờ.
- API thời gian chạy: Chúng tôi phát hành
runtime.getContexts()
để thay thếextension.getViews()
(không dùng nữa). Điều này sẽ cho phép 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. Xem đề xuất WECG. - Trình chạy dịch vụ: Chúng tôi đang bổ sung các tính năng duy trì hoạt động mạnh mẽ cho các API Chrome có hiển thị lời nhắc người dùng:
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
vàmanagement.uninstall()
. - API bảng điều khiển bên: Chúng tôi sắp 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ư nhấp vào trình đơn theo bối cảnh. - API TabCapture: Chúng tôi sẽ thêm tính 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 tài liệu ngoài màn hình. Hãy xem bài viết Ghi âm và chụp ảnh 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 để biết những thông báo này ngay sau khi chúng ra mắt 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. Rất cảm ơn các bạn đã dành thời gian đặt câu hỏi trên chromium-group và báo cáo các vấn đề về tài liệu trên developer.chrome.com.
Điểm nổi bật
- 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 về 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. Các nội dung này bao gồm cách đăng ký và cập nhật, vòng đời hoạt động, cách hoạt động của tính năng nhập, v.v.
- Hướng dẫn Xử lý các sự kiện bằng trình chạy dịch vụ cung cấp thông tin cơ bản về trình chạy dịch vụ tiện ích. Công cụ này tạo một tiện ích thanh địa chỉ cho phé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ử dụng Google Analytics 4 minh hoạ cách theo dõi mức sử dụng các sự kiện của trình chạy dịch vụ và cửa sổ bật lên của tiện ích.
- Sử dụng tính năng định vị vị trí cho biết cách lấy vị trí địa lý của tiện ích bằng API ngoài màn hình.
- Bản ghi âm và ghi màn hình hướng dẫn cách ghi âm và video từ thẻ, cửa sổ hoặc màn hình bằng API
chrome.tabCapture
vànavigator.mediaDevices.getDisplayMedia()
. - Chúng tôi đã thêm các mẹo gỡ lỗi mới vào hướng dẫn Gỡ lỗi tiện ích.
- Chúng tôi đã cập nhật Nguyên tắc về cảnh báo về quyền để giúp bạn dễ dàng hiểu được cách hoạt động của cảnh báo về quyền cũng như cách mang đến trải nghiệm tốt hơn cho người dùng. Ngoài ra, cũng có nhiều cách thiết thực để kiểm tra những cảnh báo mà người dùng sẽ thấy.
- Nhóm của chúng tôi và những người đóng góp cũng đã thêm các mẫu tiện ích mới của Manifest V3: WASM trong tiện ích, Bản minh hoạ API tập lệnh, Sổ tay nấu ăn về API bảng điều khiển bên và mẫu API DeclarativeNetRequest. Bạn có thể khám phá các mẫu tiện ích khác trong kho lưu trữ mẫu GitHub của chúng tôi.
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 tiện ích của Chrome.
- Cải thiện hướng dẫn về Yêu cầu mạng khai báo.
- Cải tiến phần giải thích về 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 nỗ lực hỗ trợ WebHID; bạn có thể thử nghiệm API này kể từ Chrome 115 (nhưng lưu ý rằng API này vẫn đang trong giai đoạn phát triển).
- Puppeteer hiện hỗ trợ kiểm thử ở chế độ không có giao diện người dùng bằng cách sử dụng
--headless=new
. Đọc thêm về tính năng này trong bài đăng trên blog Nâng cấp chế độ không có giao diện người dùng của Chrome. - Nhờ Công cụ kiểm tra bản cập nhật tiện ích, bạn có thể kiểm tra 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 quy trình cập nhật giống như người dùng. Việc này rất quan trọng vì một số quyền có thể tắt 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 tiện ích rất hân hạnh được gặp mặt trực tiếp 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 các không gian mới để kết nối với bạn, chẳng hạn như ra mắt các buổi họp nhóm và sự kiện giao lưu.
Trong thời gian chờ đợi, vui lòng tiếp tục đặt câu hỏi trên các 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 trong kho lưu trữ GitHub của developer.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!