Định dạng tệp kê khai

Mỗi tiện ích phải có một tệp manifest.json trong thư mục gốc liệt kê thông tin quan trọng về cấu trúc và hành vi của tiện ích đó. Trang này giải thích cấu trúc của tệp kê khai tiện ích và tính năng của tệp kê khai tiện ích đó có thể bao gồm.

Ví dụ

Tệp kê khai mẫu sau đây thể hiện cấu trúc cơ bản của tệp kê khai và một số các tính năng thường dùng làm điểm khởi đầu để tạo tệp kê khai của riêng bạn:

Tệp kê khai tối thiểu

{
  "manifest_version": 3,
  "name": "Minimal Manifest",
  "version": "1.0.0",
  "description": "A basic example extension with only required keys",
  "icons": {
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
}

Đăng ký tập lệnh nội dung

{
  "manifest_version": 3,
  "name": "Run script automatically",
  "description": "Runs a script on www.example.com automatically when user installs the extension",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "content_scripts": [
    {
      "js": [
        "content-script.js"
      ],
      "matches": [
        "http://*.example.com//"
      ]
    }
  ]
}

Chèn tập lệnh nội dung

{
  "manifest_version": 3,
  "name": "Click to run",
  "description": "Runs a script when the user clicks the action toolbar icon.",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "background": {
    "service_worker": "service-worker.js"
  },
  "action": {
    "default_icon": {
      "16": "images/icon-16.png",
      "32": "images/icon-32.png",
      "48": "images/icon-48.png",
      "128": "images/icon-128.png"
    }
  },
  "permissions": ["scripting", "activeTab"]
}
{
  "manifest_version": 3,
  "name": "Popup extension that requests permissions",
  "description": "Extension that includes a popup and requests host permissions and storage permissions .",
  "version": "1.0",
  "icons": {
    "16": "images/icon-16.png",
    "32": "images/icon-32.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "action": {
    "default_popup": "popup.html"
  },
  "host_permissions": [
    "https://*.example.com/"
  ],
  "permissions": [
    "storage"
  ]
}

Bảng điều khiển bên

{
  "manifest_version": 3,
  "name": "Side panel extension",
  "version": "1.0",
  "description": "Extension with a default side panel.",
  "icons": {
    "16": "images/icon-16.png",
    "48": "images/icon-48.png",
    "128": "images/icon-128.png"
  },
  "side_panel": {
    "default_path": "sidepanel.html"
  },
  "permissions": ["sidePanel"]
}

Khoá tệp kê khai

Sau đây là danh sách tất cả khoá tệp kê khai được hỗ trợ.

Khoá do nền tảng Tiện ích yêu cầu

"manifest_version"
Một số nguyên chỉ định phiên bản của định dạng tệp kê khai mà tiện ích sử dụng. Giá trị duy nhất được hỗ trợ là 3.
"name"
Một chuỗi xác định tiện ích trong Chrome Web Store, hộp thoại cài đặt và trang Tiện ích của Chrome của người dùng (chrome://extensions). Chiến lược phát hành đĩa đơn độ dài tối đa là 75 ký tự. Để biết thông tin về cách sử dụng tên theo ngôn ngữ cụ thể, hãy xem mục Quốc tế hoá.
"version"
Một chuỗi giúp xác định số phiên bản của tiện ích. Để biết thông tin về định dạng số phiên bản, xem Phiên bản.

Khóa mà Cửa hàng Chrome trực tuyến yêu cầu

"description"
Một chuỗi mô tả tiện ích trên cả Cửa hàng Chrome trực tuyến và trên trang quản lý tiện ích. Độ dài tối đa là 132 ký tự. Để biết thông tin để bản địa hoá nội dung mô tả, hãy xem phần Quốc tế hoá.
"icons"
Một hoặc nhiều biểu tượng đại diện cho tiện ích của bạn. Để biết thông tin về các phương pháp hay nhất, hãy xem phần Biểu tượng.

Khoá không bắt buộc

"action"
Xác định giao diện và cách hoạt động của biểu tượng tiện ích trên ứng dụng Google Thanh công cụ. Để biết thêm thông tin, hãy xem chrome.action.
"author"
Chỉ định địa chỉ email của tài khoản dùng để tạo tiện ích bổ sung.
"background"
Chỉ định tệp JavaScript chứa trình chạy dịch vụ của tiện ích, đóng vai trò là trình chạy dịch vụ một trình xử lý sự kiện. Để biết thêm thông tin, hãy xem bài viết Giới thiệu về dịch vụ tiện ích trình thực thi.
"chrome_settings_overrides"
Xác định cơ chế ghi đè cho các chế độ cài đặt Chrome đã chọn. Để biết thêm thông tin, hãy xem Ghi đè chế độ cài đặt của Chrome.
"chrome_url_overrides"
Xác định cơ chế ghi đè cho các trang Chrome mặc định. Để biết thêm thông tin, hãy xem Ghi đè các trang trên Chrome.
"commands"
Xác định các phím tắt trong tiện ích. Để biết thêm hãy xem phần chrome.commands.
"content_scripts"
Chỉ định các tệp JavaScript hoặc CSS sẽ được sử dụng khi người dùng mở một số trang web . Để biết thêm thông tin, hãy xem phần Tập lệnh nội dung.
"content_security_policy"
Xác định các quy định hạn chế đối với tập lệnh, kiểu và tài nguyên khác của một tiện ích có thể sử dụng. Để biết thêm thông tin, hãy xem Chính sách bảo mật nội dung.
"cross_origin_embedder_policy"
Chỉ định một giá trị cho tiêu đề HTTP Cross-Origin-ìder-Policy. Tiêu đề này định cấu hình nhúng tài nguyên nhiều nguồn gốc vào trang tiện ích.
"cross_origin_opener_policy"
Chỉ định một giá trị cho tiêu đề HTTP Cross-Origin-Opener-Policy, điều này cho phép bạn đảm bảo rằng trang tiện ích cấp cao nhất không chia sẻ ngữ cảnh duyệt web bằng nhiều tài liệu nguồn gốc.
"declarative_net_request"
Xác định các quy tắc tĩnh cho declarativeNetRequest API cho phép chặn và sửa đổi các yêu cầu mạng.
"default_locale"
Một chuỗi xác định ngôn ngữ mặc định của một tiện ích hỗ trợ nhiều ngôn ngữ. Ví dụ: "vi" và "pt_BR". Bắt buộc phải có khoá này trong và không được sử dụng tiện ích được bản địa hoá trong các tiện ích chưa được bản địa hoá. Để biết thêm thông tin, hãy xem phần Quốc tế hoá.
"devtools_page"
Xác định những trang sử dụng API DevTools.
"export"
Cho phép xuất tài nguyên từ tiện ích. Để biết thêm thông tin, hãy xem Xuất.
"externally_connectable"
Chỉ định những trang và tiện ích nào khác có thể kết nối với tiện ích của bạn. Cho để biết thêm thông tin, hãy xem "externally_connectable".
"homepage_url"
Một chuỗi ký tự chỉ định URL cho trang chủ của tiện ích. Nếu chưa xác định, mặc định trang chủ là trang Cửa hàng Chrome trực tuyến của tiện ích. Trường này là đặc biệt hữu ích nếu bạn lưu trữ tiện ích trên trang web của bạn.
"host_permissions"
Liệt kê các trang web mà tiện ích của bạn được phép tương tác, được xác định bằng Mẫu so khớp URL. Cần có sự cho phép của người dùng đối với những trang web này khi cài đặt bất cứ lúc nào. Để biết thêm thông tin, hãy xem phần Quyền của người tổ chức.
"import"
Cho phép nhập tài nguyên vào tiện ích. Để biết thêm thông tin, hãy xem Nhập.
"incognito"
Xác định cách tiện ích hoạt động ở chế độ ẩn danh. Sau đây là các giá trị được hỗ trợ: "spanning", "split""not_allowed". Để biết thêm thông tin, hãy xem Ẩn danh.
"key"
Chỉ định mã tiện ích cho nhiều trường hợp sử dụng trong quá trình phát triển. Để biết thêm thông tin, xem phần Khoá.
"minimum_chrome_version"
Xác định phiên bản Chrome cũ nhất có thể cài đặt tiện ích của bạn. Giá trị phải là chuỗi con của chuỗi phiên bản trình duyệt Chrome hiện có, chẳng hạn như "107" hoặc "107.0.5304.87". Người dùng sử dụng phiên bản Chrome cũ hơn phiên bản tối thiểu sẽ thấy lỗi "Không tương thích" trong Cửa hàng Chrome trực tuyến và không thể cài đặt tiện ích của bạn. Nếu bạn thêm tiện ích này vào tiện ích hiện có, người dùng có phiên bản Chrome cũ sẽ không nhận được bản cập nhật tự động cho tiện ích. Số liệu này bao gồm cả người dùng doanh nghiệp ở tạm thời.
"oauth2"
Cho phép sử dụng mã bảo mật OAuth 2.0. Giá trị của khoá này phải là đối tượng có các thuộc tính "client_id""scopes". Để biết thông tin chi tiết, hãy xem ứng dụng OAuth Hướng dẫn về phiên bản 2.0.
"omnibox"
Cho phép tiện ích đăng ký từ khoá trong thanh địa chỉ của Chrome. Để biết thêm hãy xem Thanh địa chỉ.
"optional_host_permissions"
Khai báo máy chủ không bắt buộc quyền cho tiện ích của bạn.
"optional_permissions"
Khai báo các quyền không bắt buộc cho tiện ích.
"options_page"
Chỉ định đường dẫn đến tệp options.html để tiện ích dùng làm tệp . Để biết thêm thông tin, hãy xem bài viết Cung cấp cho người dùng .
"options_ui"
Chỉ định đường dẫn đến tệp HTML giúp người dùng thay đổi các tuỳ chọn tiện ích từ trang Tiện ích của Chrome. Để biết thêm thông tin, hãy xem phần Được nhúng .
"permissions"
Cho phép sử dụng các API tiện ích cụ thể. Xem các Quyền để có phần giải thích chung. Trang tham khảo cho từng API liệt kê các quyền mà các ứng dụng đó yêu cầu.
"requirements"
Liệt kê các công nghệ cần thiết để sử dụng tiện ích. Để biết danh sách các các yêu cầu, hãy xem phần Yêu cầu.
"sandbox"
Xác định một tập hợp các trang tiện ích không có quyền truy cập vào API tiện ích hoặc truy cập trực tiếp vào các trang không có hộp cát. Để biết thêm thông tin, hãy xem Hộp cát.
"short_name"
Một chuỗi ký tự chứa phiên bản rút gọn của tên tiện ích được sử dụng khi không gian ký tự bị giới hạn. Độ dài tối đa là 12 ký tự. Nếu đây là không xác định, phiên bản "tên" bị cắt ngắn màn hình phím.
"side_panel"
Xác định tệp HTML để hiển thị trong một sidePanel.
"storage"
Khai báo giản đồ JSON cho bộ nhớ được quản lý . Để biết thêm hãy xem phần Tệp kê khai cho khu vực lưu trữ.
"tts_engine"
Đăng ký tiện ích dưới dạng công cụ chuyển văn bản sang lời nói. Để biết thêm thông tin, hãy xem ttsEngine API.
"update_url"
Một chuỗi ký tự chứa URL của trang cập nhật tiện ích. Sử dụng khoá này nếu bạn đang lưu trữ tiện ích bên ngoài Cửa hàng Chrome trực tuyến.
"version_name"
Một chuỗi mô tả phiên bản của tiện ích. Ví dụ như "1.0 beta""build rc2" Nếu bạn không chỉ định thuộc tính này, thì "phiên bản" giá trị được hiển thị trên trang quản lý tiện ích.
"web_accessible_resources"
Xác định các tệp trong tiện ích mà các trang web hoặc các nguồn khác có thể truy cập tiện ích. Để biết thêm thông tin, hãy xem bài viết Có thể truy cập vào web Tài nguyên.

Khoá ChromeOS không bắt buộc

"file_browser_handlers"
Cấp quyền truy cập vào fileBrowserHandler API để cho phép tiện ích truy cập vào trình duyệt tệp của ChromeOS.
"file_handlers"
Chỉ định loại tệp để các tiện ích ChromeOS cần xử lý. Để biết thêm thông tin, xem file_handlers.
"file_system_provider_capabilities"
Cho phép truy cập vào fileSystemProvider API cho phép các tiện ích tạo hệ thống tệp mà ChromeOS có thể sử dụng.
"input_components"
Cho phép sử dụng API Trình chỉnh sửa phương thức nhập. Để biết thêm thông tin, hãy xem input_components.