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"]
}
Wyskakujące okienko z uprawnieniami
{
"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