Tháng 7 vừa qua, chúng tôi đã ra mắt một loạt blog mới để giúp bạn nắm bắt thông tin mới nhất về sự phát triển của các tiện ích. Nhờ có ý kiến phản hồi quý giá và sự cộng tác không ngừng của chúng tôi với các nhà cung cấp trình duyệt khác trong Nhóm cộng đồng Webextension, chúng tôi tiếp tục cải thiện các API tiện ích và nỗ lực hướng tới tính nhất quán cao hơn giữa các trình duyệt.
Chào mừng bạn đến với phiên bản tháng 10! Trong bài đăng này, chúng ta sẽ xem xét một số thay đổi mà nhóm tiện ích của Chrome đã thực hiện trong vài tháng qua cũng như một số tính năng mới sẽ ra mắt vào cuối năm nay. Hãy bắt đầu nào!
Tính năng và API tiện ích mới
Trong phần này, chúng tôi sẽ chia sẻ một số bản phát hành quan trọng về API, 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 sắp tới. Mọi tính năng mới ra mắt hiện đều có trong bản phát hành Beta mới nhất. Xem lịch phát hành Chromium để biết thông tin chi tiết.
Điểm nổi bật
Các vấn đề đã biết đã giải quyết
Nhóm tiện ích đang tích cực làm việc để giải quyết các vấn đề về độ ổn định của Manifest V3. Chrome 116 đã ra mắt nhiều điểm cải tiến giúp chúng tôi đạt được những bước tiến đáng kể trong việc thu hẹp khoảng cách về tính năng giữa Manifest V2 và V3. Trong Chrome 120, chúng tôi sẽ hoàn tất việc giải quyết tất cả các khoảng trống nền tảng cần được ưu tiên và xử lý tất cả lỗi nghiêm trọng được ghi nhận trên trang các vấn đề đã biết. Tất cả tính năng hiện đều có trong Chrome 120 Canary, ngoại trừ tính năng hỗ trợ fileHandler cho ChromeOS và API userScripts sẽ ra mắt vào cuối tháng này. Hãy xem trang các vấn đề đã biết mà chúng tôi mới cập nhật để biết thêm thông tin chi tiết.
Cải thiện tính ổn định của Trình chạy dịch vụ
Đã giải quyết các vấn đề về độ ổn định liên quan đến trình chạy dịch vụ. Trong Chrome 116, chúng tôi đã thêm tính năng duy trì hoạt động mạnh mẽ cho các API tiện ích để hiển thị lời nhắc người dùng, đồng thời cải thiện khả năng hỗ trợ cho WebSockets (xem hướng dẫn Sử dụng WebSockets trong tiện ích). Từ Chrome 118 trở đi, trình chạy dịch vụ sẽ vẫn hoạt động trong phiên API Trình gỡ lỗi đang hoạt động.
Hãy tham khảo hướng dẫn về Service Worker mà chúng tôi đã cập nhật để biết thêm thông tin chi tiết. Nếu người dùng của bạn vẫn gặp phải các vấn đề về độ ổn định liên quan đến nhân viên dịch vụ trong các phiên bản Chrome sau phiên bản 119, vui lòng cho chúng tôi biết.
Mức độ bảo mật cao hơn
Trước đây, việc điều hướng đến một số URL chrome://
bằng tabs.update()
, tabs.create
và windows.create()
đã gây ra lỗi hoặc khiến Chrome gặp sự cố. Ngoài ra, tabs.update()
không thể mở URL JavaScript. Trong Chrome 117, chúng tôi đã mở rộng số lượng URL chrome://
được hỗ trợ. Ngoài ra, quy tắc chặn URL JavaScript hiện cũng áp dụng cho tất cả phương thức API tiện ích.
Trong Chrome 117, người dùng sẽ nhận được thông báo chủ động trên trang Tiện ích của Chrome nếu tiện ích họ đã cài đặt không còn trên Cửa hàng Chrome trực tuyến. Điều này có thể xảy ra nếu nhà phát triển huỷ xuất bản tiện ích, tiện ích bị gỡ bỏ do vi phạm chính sách hoặc được xác định là phần mềm độc hại. Để tìm hiểu sâu hơn, hãy xem bài viết Đưa tính năng Kiểm tra an toàn vào trang chrome://extensions.
Trong Chrome 118, các tiện ích sẽ không được phép điều hướng đến các URL file://
bằng API chrome.tabs
và chrome.windows
, trừ phi bạn bật lựa chọn "Cho phép truy cập vào các URL của tệp" trên trang chi tiết của tiện ích. Xem cuộc thảo luận về WECG.
Các đợt ra mắt API khác
- API thời gian chạy: Kể từ Chrome 116, bạn có thể sử dụng
runtime.getContexts()
để truy xuất thông tin về ngữ cảnh đang hoạt động. Ví dụ: Bạn có thể kiểm tra xem có tài liệu nào đang hoạt động ngoài màn hình hay không. - API bảng điều khiển bên Trong Chrome 116, bạn có thể dùng
sidepanel.open()
để mở bảng điều khiển bên của tiện ích theo phương thức lập trình theo 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. - TabCapture API Thêm khả năng gọi
getMediaStreamId()
từ trình chạy dịch vụ tiện ích và lấy đối tượngMediaStream
từ ID luồng trong tài liệu ngoài màn hình trong Chrome 116. Hãy xem bài viết Ghi âm và chụp ảnh màn hình để biết ví dụ. - declarativeNetRequest API: Thay đổi giá trị mặc định cho thuộc tính
isUrlFilterCaseSensitive
thànhfalse
trong Chrome 118.
Sắp có...
Chúng tôi dự định giải quyết tất cả các mục còn lại trên trang vấn đề đã biết trong quá trình phát hành Chrome 120. Ngoài ra, chúng tôi dự định sẽ thêm các tính năng sau:
- API UserScripts sẽ cho phép trình quản lý tập lệnh người dùng phối hợp cách thức và thời điểm chèn tập hợp tập lệnh người dùng vào trang web. Hãy xem đề xuất của WECG để biết thông tin chi tiết.
- API ReadingList sẽ cho phép nhà phát triển tạo, đọc, cập nhật và xoá siêu dữ liệu nằm trong bảng điều khiển Danh sách đọc của bảng điều khiển bên. Xem Tính năng mới trong các tiện ích của Chrome để biết thông báo.
- Dựa trên ý kiến phản hồi trong Nhóm cộng đồng tiện ích web, chúng tôi sẽ tăng đáng kể giới hạn đối với các tập hợp quy tắc tĩnh được bật từ 10 lên 50. Ngoài ra, chúng tôi sẽ tăng tổng số tập hợp quy tắc tĩnh được phép từ 50 lên 100. Tính năng này hiện có trong Canary.
- File handling API (API Xử lý tệp): sẽ có sẵn cho các tiện ích của ChromeOS kể từ ChromeOS 120. Các tiện ích này cho phép các tiện ích mở tệp có các loại MIME đã chỉ định và đuôi tệp theo cách tương tự như cách xử lý tệp trên nền tảng web.
- Các tiện ích có thể sử dụng API đẩy trên web thông qua
self.registration.pushManager.subscribe()
mà không cần hiển thị thông báo cho người dùng bằng cách đặtuserVisibleOnly
thànhfalse
. Điều này sẽ giúp thông báo đẩy trở thành một giải pháp thay thế liền mạch hơn so với WebSockets trong trình chạy dịch vụ (MV3) để giao tiếp giữa máy khách và máy chủ không đồng bộ. Xem lỗi Chromium và cuộc thảo luận về WECG để biết thông tin chi tiết.
Hãy chú ý theo dõi trang Tính năng mới trong tiện ích để biết các thông báo ngay khi những tính năng này có trong Chrome Beta.
Nâng cấp tài liệu
Chúng tôi cũng đang cải thiện và bổ sung tài liệu. Vui lòng tiếp tục đặt câu hỏi trên nhóm Chromium và báo cáo các vấn đề về tài liệu.
Điểm nổi bật
- Chúng tôi đã cải tiến trang đích Mẫu. Giờ đây, bạn có thể lọc theo API, quyền và loại, giúp dễ dàng tìm thấy các mẫu cụ thể hơn. Cải tiến này là nỗ lực cộng tác với thực tập sinh Mùa hè của Mã nguồn, Xuezhou Dai. Đọc về trải nghiệm của anh trong bài đăng này trên blog.
- Cách sử dụng tài khoản Google Analytics với Cửa hàng Chrome trực tuyến mô tả cách xem Google Analytics 4 cho trang thông tin trên Cửa hàng Chrome trực tuyến, bổ sung cho dữ liệu mà Trang tổng quan dành cho nhà phát triển cung cấp. Hướng dẫn này trình bày các bước để chọn sử dụng Google Analytics, theo dõi hiệu suất quảng cáo, theo dõi lượt chuyển đổi và cấp cho các tài khoản khác quyền truy cập vào dữ liệu Google Analytics.
- Chúng tôi đã phát hành hướng dẫn mới về cách hoạt động của cookie và API lưu trữ trên web trong các tiện ích của Chrome. Hướng dẫn này bao gồm tất cả những gì bạn cần biết về Hộp cát về quyền riêng tư với tư cách là nhà phát triển tiện ích.
- Chúng tôi đã ra mắt các bài viết mới về cách tích hợp hoạt động kiểm thử trong các dự án tiện ích của bạn: Kiểm thử đơn vị tiện ích của Chrome và Kiểm thử toàn diện các tiện ích cung cấp hướng dẫn chung và các phương pháp hay nhất trên một số khung phổ biến. Để xem hướng dẫn thực tế, hãy xem Thử nghiệm Tiện ích của Chrome bằng Puppeteer.
Nội dung cập nhật khác
- Chúng tôi đã viết lại hướng dẫn về API Yêu cầu mạng khai báo theo cách nêu rõ hơn cách triển khai các tập quy tắc khai báo.
- Chúng tôi đã bổ sung hướng dẫn về cách di chuyển mã được lưu trữ từ xa sang Manifest V3. Ngoài ra, để giảm thiểu nguy cơ gặp sự cố trong quá trình phát hành, chúng tôi cung cấp các chiến lược Xuất bản tiện ích Manifest V3 theo giai đoạn.
- Tìm hiểu cách kết nối với WebSocket trong trình chạy dịch vụ của tiện ích.
- Chúng tôi đã mở rộng phần Hướng dẫn nhận trợ giúp để bổ sung hướng dẫn chi tiết hơn về cách báo lỗi, theo dõi các vấn đề hiện có, yêu cầu tính năng mới, v.v.
Sắp có...
- Tài liệu tham khảo và hướng dẫn về API Tập lệnh người dùng.
- Mẫu và hướng dẫn về Firebase.
- Tài liệu tham khảo về API ReadList.
Thiết kế lại Cửa hàng Chrome trực tuyến {7/}
![Ảnh chụp màn hình trang chủ Cửa hàng Chrome trực tuyến.](https://developer.chrome.com/static/blog/extension-news-october-2023/image/screenshot-the-chrome-we-4aa4284c1daed.png?authuser=9&hl=vi)
Đầu tháng này, chúng tôi đã công bố bản xem trước sớm của Cửa hàng Chrome trực tuyến được cải tiến như chúng tôi đã gợi ý tại Google I/O. Hãy tự mình khám phá! https://chromewebstore.google.com/. Một vài thay đổi đáng chú ý là:
- Tăng danh sách danh mục từ danh sách 11 danh mục lên danh sách mới gồm 17 trong 3 nhóm danh mục.
- Cải thiện tính năng tự động hoàn thành trong phần tìm kiếm.
- Ảnh chụp màn hình hiện đang được hiển thị ở chất lượng cao hơn đáng kể. Bạn có thể tải ảnh chụp màn hình 1280x800 lên nếu chưa có.
- Giờ đây, câu trả lời cho các câu hỏi trên thẻ Hỗ trợ sẽ hiển thị các dòng mới.
- Giờ đây, khi trả lời bài đánh giá của người dùng và các câu hỏi cần hỗ trợ, câu trả lời của bạn sẽ bao gồm huy hiệu "Nhà phát triển" bên cạnh tên của bạn.
- Bạn có thể cung cấp cho người dùng đường liên kết trực tiếp đến trang bài đánh giá bằng cách thêm "/reviews" vào cuối URL mặt hàng trong cửa hàng. Ví dụ:
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
Cảm ơn mọi người đã cung cấp thông tin cho đến thời điểm này trên nhóm chromium-google. Bạn có thể tham gia thảo luận hoặc gửi ý kiến phản hồi trực tiếp cho nhóm CWS bằng cách sử dụng mục trong trình đơn Gửi ý kiến phản hồi:
![Gửi phản hồi trên trang Cửa hàng Chrome trực tuyến](https://developer.chrome.com/static/blog/extension-news-october-2023/image/give-feedback-the-chrome-b02d47e756274.png?authuser=9&hl=vi)
Ngoài ra, bạn có thể gửi biểu mẫu tự đề cử để được xuất hiện trong bộ sưu tập Lựa chọn của ban biên tập. Bạn cũng đừng quên theo dõi những điểm cải tiến sắp tới trên trang tổng quan dành cho nhà phát triển!
💡 Bạn có biết?
- Có một video mới về Gỡ lỗi tiện ích của Chrome. Tài liệu này đề cập đến nhiều chủ đề mà có thể bạn đã quen thuộc, đồng thời cũng chia sẻ một số thủ thuật gọn gàng để sử dụng Công cụ cho nhà phát triển trong các tiện ích.
- Giờ đây, bạn bắt buộc phải cung cấp chính sách quyền riêng tư cho từng tiện ích. Trước đây, bạn chỉ có thể thêm một chính sách quyền riêng tư cho mỗi tài khoản nhà phát triển. Tuy nhiên, sẽ rất bất tiện nếu bạn có nhiều tiện ích trong một tài khoản nhà phát triển. Giao diện mới này được cung cấp tại thẻ Quyền riêng tư của mặt hàng trên trang tổng quan dành cho nhà phát triển. Điều này có nghĩa là chính sách quyền riêng tư cấp tài khoản không còn được hỗ trợ nữa.
Ảnh chụp màn hình hộp chính sách quyền riêng tư
Mạnh dạn chia sẻ 🙌
Chúng tôi đã tiếp tục liên hệ với cộng đồng các nhà phát triển tiện ích thông qua buổi trò chuyện 1:1, ra mắt các chương trình mới và tham dự các hội nghị. Dưới đây là một vài điểm nổi bật:
- Chúng tôi đã ra mắt tiện ích Chương trình Chuyên gia nhà phát triển của Google vào tháng 8. Chúng tôi có hàng chục GDE mới tập trung vào tiện ích của Chrome từ khắp nơi trên thế giới với những ý kiến phản hồi hữu ích. Đây là thời điểm rất thú vị cho chương trình này!
- Chúng tôi đã tham dự TPAC (hội nghị thường niên của W3C) trong Nhóm cộng đồng tiện ích web và đã gặp gỡ các đại diện của Firefox và Safari cùng một số thành viên trong cộng đồng. Chúng tôi đã đạt được tiến bộ đáng kể về một số chủ đề, bao gồm việc chuyển sang sử dụng các API tiện ích nhất quán hơn, xây dựng thông số kỹ thuật và xây dựng dựa trên các Thử nghiệm nền tảng web để tạo một bộ thử nghiệm mới. Đọc toàn bộ biên bản trong kho lưu trữ của WECG.
- Tuần trước, nhóm tiện ích đã tham gia Hội nghị Nhà phát triển về tính năng lọc quảng cáo tại Amsterdam. Họ đã gặp một số bạn tại một quán cà phê mà họ tổ chức trước tuần hội nghị thượng đỉnh và trong giờ làm việc mở cửa vào thứ Sáu.
Nhóm mở rộng trong Hội nghị dành cho nhà phát triển lọc quảng cáo
Ngay cả khi không thể tham dự bất kỳ sự kiện nào trong số này, bạn vẫn có thể tiếp tục tham gia bằng cách đặt câu hỏi trên nhóm Google chromium-extensions, theo dõi các cuộc thảo luận của đối tác trình duyệt về WECG và báo cáo mọi vấn đề về tài liệu.
Một lần nữa, cảm ơn bạn đã tham gia cộng đồng nhà phát triển tiện ích!