Sau khi đọc phần Bắt đầu, hãy sử dụng hướng dẫn này dưới dạng giới thiệu về các thành phần tiện ích, chức năng của các thành phần này trong Manifest V3 và cách kết hợp các thành phần đó. Trước tiên, hãy tự làm quen với những tiện ích mở rộng có khả năng: Sau đó, hãy tìm hiểu cách kết hợp các tính năng này thông qua phần khái niệm chính của các phần mở rộng.

Thiết kế giao diện người dùng

Hầu hết các tiện ích cần tương tác với người dùng để hoạt động. Nền tảng tiện ích cung cấp nhiều cách để thêm lượt tương tác vào tiện ích của bạn. Những phương thức này bao gồm cửa sổ bật lên được kích hoạt từ thanh công cụ của Chrome, bảng điều khiển bên, trình đơn theo bối cảnh, v.v.
Sử dụng API chrome.sidePanel để lưu trữ nội dung trong bảng điều khiển bên của trình duyệt cùng với nội dung chính của trang web.
Kiểm soát việc hiển thị biểu tượng của tiện ích trên thanh công cụ.
Thêm mục vào trình đơn theo bối cảnh của Google Chrome.

Kiểm soát trình duyệt

API tiện ích của Chrome giúp bạn thay đổi cách trình duyệt hoạt động.
Ghi đè chế độ cài đặt là một cách để tiện ích ghi đè các chế độ cài đặt đã chọn của Chrome. Ngoài ra, các tiện ích có thể sử dụng ghi đè các trang HTML để thay thế một trang mà Google Chrome thường cung cấp. Tiện ích có thể ghi đè trình quản lý dấu trang, thẻ nhật ký hoặc thẻ mới.
Tiện ích Công cụ cho nhà phát triển thêm chức năng vào Công cụ của Chrome cho nhà phát triển bằng cách truy cập vào các API tiện ích dành riêng cho Công cụ cho nhà phát triển thông qua trang Công cụ cho nhà phát triển được thêm vào tiện ích. Bạn cũng có thể dùng API chrome.debugger để gọi giao thức gỡ lỗi từ xa của Chrome. Đính kèm vào một hoặc nhiều thẻ để đo lường tương tác mạng, gỡ lỗi JavaScript, thay đổi DOM, v.v.
API chrome.notifications cho phép bạn tạo thông báo bằng các mẫu và hiển thị những thông báo này với người dùng trong khay hệ thống của người dùng.
Sử dụng API chrome.history để tương tác với bản ghi của trình duyệt về các trang đã truy cập và API chrome.browsingData để quản lý dữ liệu duyệt web khác. Sử dụng chrome.topSites để truy cập các trang web được truy cập nhiều nhất.
Sử dụng các API như chrome.tabs, chrome.tabGroupschrome.windows để tạo, sửa đổi và sắp xếp trình duyệt của người dùng.
Sử dụng API chrome.commands để thêm phím tắt kích hoạt các thao tác trong tiện ích. Ví dụ: bạn có thể thêm lối tắt để mở thao tác của trình duyệt hoặc gửi lệnh đến tiện ích.
Sử dụng API chrome.identity để nhận mã truy cập OAuth 2.0.
API chrome.management cung cấp các cách để quản lý danh sách các tiện ích đã được cài đặt và đang chạy. Việc này đặc biệt hữu ích cho các tiện ích ghi đè trang Thẻ mới tích hợp sẵn.
API chrome.omnibox cho phép bạn đăng ký từ khoá bằng thanh địa chỉ của Google Chrome (thanh địa chỉ).
Dùng API chrome.privacy để kiểm soát việc sử dụng các tính năng trong Chrome có thể ảnh hưởng đến quyền riêng tư của người dùng. Ngoài ra, hãy xem API chrome.proxy để quản lý chế độ cài đặt proxy của Chrome.
Dùng API chrome.downloads để bắt đầu, giám sát, thao tác và tìm kiếm tệp đã tải xuống theo phương thức lập trình.
Hãy sử dụng API chrome.bookmarks và API chrome.readingList để tạo, sắp xếp và chỉnh sửa các danh sách này theo cách khác.

Kiểm soát web

Linh hoạt thay đổi nội dung và hoạt động của trang web. Bạn có thể kiểm soát và sửa đổi web bằng cách chèn tập lệnh, chặn các yêu cầu mạng và sử dụng API web để tương tác với các trang web.
Tập lệnh nội dung là các tệp chạy trong ngữ cảnh của các trang web. Chúng sử dụng Mô hình đối tượng tài liệu (DOM) chuẩn để đọc thông tin chi tiết về các trang web mà trình duyệt truy cập, thực hiện các thay đổi đối với các trang web và chuyển thông tin đến tiện ích chính của chúng.
Quyền "activeTab" cấp cho một tiện ích quyền truy cập tạm thời vào thẻ hiện đang hoạt động khi người dùng gọi tiện ích, chẳng hạn như bằng cách nhấp vào thao tác của tiện ích. Quyền truy cập vào thẻ sẽ tồn tại trong khi người dùng đang ở trên trang đó và bị thu hồi khi người dùng rời khỏi hoặc đóng thẻ.
Sử dụng các API chrome.declarativeNetRequest, chrome.webRequestchrome.webNavigation để quan sát, chặn và sửa đổi các yêu cầu mạng.
Tìm hiểu về các phương pháp ghi âm và quay video từ một thẻ, cửa sổ hoặc màn hình bằng các API nền tảng web như chrome.tabCapture hoặc getDisplayMedia().
Dùng API chrome.contentSettings để kiểm soát việc trang web có thể sử dụng các tính năng như cookie, JavaScript và trình bổ trợ hay không. Nói chung, cài đặt nội dung cho phép bạn tùy chỉnh hoạt động của Chrome trên cơ sở từng trang web thay vì trên toàn cầu.

Các khái niệm chính

Khi dùng các API tiện ích và nền tảng web, bạn có thể xây dựng các tính năng phức tạp hơn bằng cách kết hợp nhiều thành phần giao diện người dùng và các tính năng của nền tảng tiện ích.
Trình chạy dịch vụ tiện ích (service-worker.js) là tập lệnh dựa trên sự kiện mà trình duyệt chạy ở chế độ nền. Tiện ích này thường được dùng để xử lý dữ liệu, điều phối các tác vụ trong các phần khác nhau của tiện ích và làm trình quản lý sự kiện của tiện ích.
Tìm hiểu về quyền: cách hoạt động của quyền và thời điểm cần tránh yêu cầu cấp quyền khi không cần thiết.
Nhiều khi tập lệnh nội dung hoặc các trang tiện ích khác cần gửi hoặc nhận thông tin từ trình chạy dịch vụ tiện ích. Trong những trường hợp này, một trong hai bên có thể nghe tin nhắn được gửi từ đầu bên kia và trả lời trên cùng một kênh.
Bật tiện ích của bạn để trao đổi tin nhắn với các ứng dụng gốc.
Trong Manifest V3, các tiện ích cần phải nhóm tất cả mã mà chúng đang sử dụng bên trong chính tiện ích đó. Có nhiều chiến lược để làm việc này.
Tiện ích của Chrome có một API Bộ nhớ chuyên biệt, được cung cấp cho tất cả các thành phần tiện ích. API này bao gồm 4 khu vực lưu trữ riêng biệt cho các trường hợp sử dụng cụ thể và một trình nghe sự kiện theo dõi bất cứ khi nào dữ liệu được cập nhật.
Service worker không có quyền truy cập DOM. API Ngoài màn hình cho phép tiện ích sử dụng API DOM trong tài liệu ẩn mà không làm gián đoạn trải nghiệm người dùng bằng cách mở cửa sổ hoặc thẻ mới.
Việc tách biệt nhiều nguồn gốc cho phép một trang web sử dụng các tính năng mạnh mẽ như SharedArrayBuffer. Một tiện ích có thể chọn sử dụng chế độ tách biệt nhiều nguồn gốc bằng cách chỉ định các giá trị thích hợp cho khoá tệp kê khai "cross_origin_embedder_policy""cross_origin_opener_policy".

Chủ đề khác