Format pliku manifestu

Każde rozszerzenie musi mieć w katalogu głównym plik manifest.json, który zawiera ważne informacje na temat struktury i działania danego rozszerzenia. Na tej stronie objaśniamy strukturę plików manifestu rozszerzeń i ich funkcje może uwzględniać.

Przykłady

Poniższe przykładowe pliki manifestu pokazują podstawową strukturę pliku manifestu i niektóre często używane funkcje jako punkt wyjścia dla tworzenia własnego pliku manifestu:

Minimalny plik manifestu

{
  "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"
  },
}

Rejestrowanie skryptu treści

{
  "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//"
      ]
    }
  ]
}

Wstaw skrypt treści

{
  "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"
  ]
}

Panel boczny

{
  "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"]
}

Klucze pliku manifestu

Poniżej znajdziesz listę wszystkich obsługiwanych kluczy manifestu.

Klucze wymagane przez platformę rozszerzeń

"manifest_version"
Liczba całkowita określająca wersję formatu pliku manifestu przez rozszerzenie. Jedyna obsługiwana wartość to 3.
"name"
Ciąg znaków identyfikujący rozszerzenie w Chrome Web Store, okna instalacji stronie Rozszerzenia Chrome (chrome://extensions) użytkownika. może mieć maksymalnie 75 znaków. Więcej informacji na temat używania nazw specyficznych dla języka przeczytaj artykuł Internacjonalizacja.
"version"
Ciąg znaków identyfikujący numer wersji rozszerzenia. Informacje na temat: formatowanie numerów wersji znajdziesz w sekcji Wersja.

Klucze wymagane przez Chrome Web Store

"description"
Ciąg tekstowy opisujący rozszerzenie w Chrome Web Store oraz stronie zarządzania rozszerzeniami. Maksymalna długość to 132 znaki. Informacje na temat o lokalizowaniu opisów znajdziesz w artykule Internacjonalizacja.
"icons"
Co najmniej jedna ikona symbolizująca rozszerzenie. Aby uzyskać informacje na temat: metod weryfikacji znajdziesz w artykule Ikony.

Klucze opcjonalne

"action"
Określa wygląd i działanie ikony rozszerzenia w wyszukiwarce Google Pasek narzędzi. Więcej informacji: chrome.action.
"author"
Określa adres e-mail konta użytego do utworzenia .
"background"
Określa plik JavaScript zawierający skrypt service worker rozszerzenia, który działa jako modułu obsługi zdarzeń. Więcej informacji znajdziesz w artykule Informacje o usłudze rozszerzeń pracowników.
"chrome_settings_overrides"
Definiuje zastąpienia wybranych ustawień Chrome. Więcej informacji: Zastępowanie ustawień Chrome.
"chrome_url_overrides"
Definiuje zastąpienia domyślnych stron w Chrome. Więcej informacji: Zastąp strony Chrome.
"commands"
Określa skróty klawiszowe w rozszerzeniu. Więcej Więcej informacji znajdziesz na chrome.commands.
"content_scripts"
Określa pliki JavaScript lub CSS, które mają być używane, gdy użytkownik otworzy określoną stronę stron. Więcej informacji znajdziesz w sekcji Skrypty treści.
"content_security_policy"
Określa ograniczenia dotyczące skryptów, stylów i innych zasobów rozszerzenia których może użyć. Więcej informacji znajdziesz w artykule Polityka bezpieczeństwa treści.
"cross_origin_embedder_policy"
Określa wartość nagłówka HTTP Cross-Origin-Embedder-Policy, konfiguruje umieszczanie zasobów z innych domen na stronie rozszerzenia.
"cross_origin_opener_policy"
Określa wartość nagłówka HTTP Cross-Origin-Opener-Policy, który umożliwia masz pewność, że strona rozszerzenia najwyższego poziomu nie udostępnia kontekstu przeglądania z dokumentami z innych domen.
"declarative_net_request"
Zdefiniuj reguły statyczne dla obiektu declarativeNetRequest API, który umożliwia blokowanie i modyfikowanie żądań sieciowych.
"default_locale"
Ciąg znaków określający domyślny język rozszerzenia, które obsługuje dla wielu języków. Na przykład „en” i „pt_BR”. Ten klucz jest wymagany w zlokalizowane rozszerzenia i nie można ich używać w rozszerzeniach, które nie są zlokalizowane. Więcej informacji znajdziesz w artykule Internacjonalizacja.
"devtools_page"
Definiowanie stron, które korzystają z interfejsów API DevTools.
"export"
Umożliwia eksportowanie zasobów z rozszerzenia. Więcej informacji: Eksportuj.
"externally_connectable"
Określa, które inne strony i rozszerzenia mogą łączyć się z rozszerzeniami. Dla: więcej informacji: "externally_connectable".
"homepage_url"
Ciąg znaków określający adres URL strony głównej rozszerzenia. Jeśli wartość jest nieokreślona, domyślnie strona główna to strona rozszerzenia w Chrome Web Store. To pole jest szczególnie przydatne, jeśli hostujesz rozszerzenie w swojej witrynie.
"host_permissions"
Zawiera listę stron internetowych, z którymi rozszerzenie może wchodzić w interakcje, zdefiniowane za pomocą Wzorce dopasowania adresu URL. Podczas instalacji wymagane jest uzyskanie zgody użytkownika na dostęp do tych witryn obecnie się znajdujesz. Więcej informacji znajdziesz w sekcji Uprawnienia hosta.
"import"
Umożliwia importowanie zasobów do rozszerzenia. Więcej informacji: Importuj.
"incognito"
Określa działanie rozszerzenia w trybie incognito. Obsługiwane wartości to: "spanning", "split" i "not_allowed". Więcej informacji: Tryb incognito.
"key"
Określa identyfikator rozszerzenia na potrzeby różnych zastosowań programistycznych. Więcej więcej informacji znajdziesz w sekcji Klucz.
"minimum_chrome_version"
Określa najstarszą wersję Chrome, w której można zainstalować rozszerzenie. Wartość musi być podłańcuchem dotychczasowego ciągu znaków wersji przeglądarki Chrome, takiego jak "107" lub "107.0.5304.87". Użytkownicy przeglądarki Chrome w wersji starszej niż minimalna wersja ma stan „Niezgodna”. w Chrome Web Store i są nie można zainstalować rozszerzenia. Jeśli dodasz go do istniejącego rozszerzenia, Użytkownicy starszych wersji Chrome nie będą otrzymywać automatycznych aktualizacji . Obejmuje to użytkowników biznesowych w tymczasowym.
"oauth2"
Zezwalaj na używanie identyfikatora zabezpieczeń OAuth 2.0. Wartość tego klucza musi być obiekt z właściwościami "client_id" i "scopes". Szczegółowe informacje znajdziesz w artykule OAuth Samouczek do wersji 2.0
"omnibox"
Umożliwia rozszerzeniu rejestrowanie słowa kluczowego na pasku adresu Chrome. Więcej więcej informacji znajdziesz w sekcji omniboks.
"optional_host_permissions"
Deklaruje opcjonalne hosta uprawnienia dla z rozszerzeniami.
"optional_permissions"
Deklaruje opcjonalne uprawnienia rozszerzenia.
"options_page"
Określa ścieżkę do pliku options.html rozszerzenia, które ma być używane jako stronie opcji. Więcej informacji znajdziesz w artykule Przyznawanie użytkownikom .
"options_ui"
Określa ścieżkę do pliku HTML, za pomocą której użytkownik może zmienić opcje rozszerzenia na stronie Rozszerzenia Chrome. Więcej informacji można znaleźć w sekcji Umieszczone .
"permissions"
Umożliwia korzystanie z konkretnych interfejsów API rozszerzeń. Zobacz Uprawnienia . Strony z dokumentacją poszczególnych interfejsów API zawierają listę uprawnień, których potrzebują.
"requirements"
Lista technologii wymaganych do korzystania z rozszerzenia. Listę obsługiwanych funkcji zapoznaj się z wymaganiami.
"sandbox"
Zdefiniuj zestaw stron rozszerzeń, które nie mają dostępu do interfejsów API rozszerzeń lub bezpośredni dostęp do stron poza piaskownicą. Więcej informacji: Piaskownica.
"short_name"
Ciąg tekstowy zawierający skróconą wersję nazwy rozszerzenia, której można użyć gdy ilość miejsca jest ograniczona. Maksymalna długość to 12 znaków. Jeśli jest niezdefiniowane, skrócona wersja parametru „name”
"side_panel"
Identyfikuje plik HTML do wyświetlenia w sidePanel.
"storage"
Deklaruje schemat JSON dla zarządzanej pamięci masowej Więcej więcej informacji znajdziesz w pliku manifestu dotyczącego obszarów przechowywania.
"tts_engine"
Rejestruje rozszerzenie jako mechanizm zamiany tekstu na mowę. Więcej informacji: interfejs API ttsEngine.
"update_url"
Ciąg tekstowy zawierający adres URL strony aktualizacji rozszerzenia. Użyj tego klucza, jeśli hostujesz rozszerzenie spoza Chrome Web Store.
"version_name"
Ciąg tekstowy opisujący wersję rozszerzenia. Przykłady: "1.0 beta" i "build rc2" Jeśli wartość nie jest określona, parametr „wersja” jest wyświetlana na stronie zarządzania rozszerzeniami.
"web_accessible_resources"
Określa w rozszerzeniu pliki, do których strony internetowe lub inne pliki mają dostęp rozszerzeń. Więcej informacji znajdziesz w artykule Web Accessible (Dostępność w internecie). Zasoby.

Opcjonalne klucze ChromeOS

"file_browser_handlers"
Zapewnia dostęp do fileBrowserHandler Interfejs API, który zapewnia rozszerzeniom dostęp do przeglądarki plików ChromeOS.
"file_handlers"
Określa typy plików obsługiwanych przez rozszerzenia do ChromeOS. Aby dowiedzieć się więcej, zobacz file_handlers.
"file_system_provider_capabilities"
Umożliwia dostęp do: fileSystemProvider Interfejs API, który umożliwia rozszerzeniom tworzenie systemów plików dostępnych dla ChromeOS.
"input_components"
Umożliwia korzystanie z interfejsu API edytora metody wprowadzania. Więcej informacji: input_components