Toda extensão precisa ter um arquivo manifest.json
no diretório raiz que
lista informações importantes sobre a estrutura e o comportamento dessa extensão.
Esta página explica a estrutura dos manifestos de extensões e os recursos que eles
podem incluir.
Exemplos
Os manifestos de exemplo a seguir mostram a estrutura básica do manifesto e algumas recursos mais usados como ponto de partida para criar seu próprio manifesto:
Manifesto mínimo
{
"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"
},
}
Registrar um script de conteúdo
{
"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//"
]
}
]
}
Injetar um script de conteúdo
{
"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"]
}
Pop-up com permissões
{
"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"
]
}
Painel lateral
{
"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"]
}
Chaves de manifesto
Esta é uma lista de todas as chaves de manifesto compatíveis.
Chaves exigidas pela plataforma Extensions
"manifest_version"
- Um número inteiro que especifica a versão do formato do arquivo de manifesto que seu
usos da extensão. O único valor aceito é
3
. "name"
- Uma string que identifica a extensão no Chrome Web
Store, a caixa de diálogo de instalação e
à página de extensões do Google Chrome do usuário (
chrome://extensions
). A o tamanho máximo é de 75 caracteres. Para informações sobre como usar nomes específicos de localidade, consulte Internacionalização. "version"
- Uma string que identifica o número de versão da extensão. Para informações sobre a formatação do número da versão, consulte Versão.
Chaves exigidas pela Chrome Web Store
"description"
- Uma string que descreve a extensão na Chrome Web Store e no endereço do usuário página de gerenciamento de extensões. O tamanho máximo é de 132 caracteres. Para informações sobre a localização de descrições, consulte Internacionalização.
"icons"
- Um ou mais ícones que representam sua extensão. Para mais informações sobre consulte Ícones.
Chaves opcionais
"action"
- Define a aparência e o comportamento do ícone da extensão no Google
Barra de ferramentas Para ver mais informações, consulte
chrome.action
. "author"
- Especifica o endereço de e-mail da conta usada para criar .
"background"
- Especifica o arquivo JavaScript que contém o service worker da extensão, que atua como um manipulador de eventos. Para mais informações, consulte Sobre o serviço de extensão workers.
"chrome_settings_overrides"
- Define substituições para as configurações selecionadas do Chrome. Para mais informações, consulte Substituindo as configurações do Chrome.
"chrome_url_overrides"
- Define substituições de páginas padrão do Chrome. Para mais informações, consulte Substituir páginas do Chrome.
"commands"
- Define os atalhos de teclado da extensão. Para mais mais informações, consulte chrome.commands.
"content_scripts"
- Especifica os arquivos JavaScript ou CSS que serão usados quando o usuário abrir determinados arquivos da Web páginas de destino. Para mais informações, consulte Scripts de conteúdo.
"content_security_policy"
- Define as restrições nos scripts, estilos e outros recursos de uma extensão podem usar. Para mais informações, consulte a Política de Segurança de Conteúdo.
"cross_origin_embedder_policy"
- Especifica um valor para o cabeçalho HTTP Cross-Origin-Embedder-Policy, que configura a incorporação de recursos de origem cruzada em uma página de extensão.
"cross_origin_opener_policy"
- Especifica um valor para o cabeçalho HTTP Cross-Origin-Opener-Policy, que permite garante que uma página de extensão de nível superior não compartilhe um contexto de navegação grupo com documentos de origem cruzada.
"declarative_net_request"
- Define regras estáticas para declarativeNetRequest que permite bloquear e modificar as solicitações de rede.
"default_locale"
- Uma string que define o idioma padrão de uma extensão compatível em várias localidades. Por exemplo, "en" e "pt_BR". Essa chave é obrigatória em extensões localizadas e não devem ser usadas em extensões que não são localizadas. Para mais informações, consulte Internacionalização.
"devtools_page"
- Define páginas que usam as APIs do DevTools.
"export"
- Permite que os recursos sejam exportados pela extensão. Para mais informações, consulte Exportar.
"externally_connectable"
- Especifica quais outras páginas e extensões podem se conectar às suas extensões. Para
Para mais informações, consulte
"externally_connectable"
. "homepage_url"
- Uma string que especifica um URL para a página inicial da extensão. Se esse valor estiver indefinido, Por padrão, a página inicial é a página da Chrome Web Store da extensão. Este campo é especialmente útil se você hospedar a extensão no seu site.
"host_permissions"
- Lista as páginas da Web com as quais sua extensão pode interagir, definidas usando padrões de correspondência do URL. A permissão do usuário para esses sites é solicitada na instalação tempo de resposta. Para mais informações, consulte Permissões do host.
"import"
- Permite importar recursos para a extensão. Para mais informações, consulte Importar.
"incognito"
- Define como a extensão se comporta no modo de navegação anônima. Os valores aceitos são
"spanning"
,"split"
e"not_allowed"
. Para mais informações, consulte Navegação anônima. "key"
- Especifica o ID da extensão para vários casos de uso de desenvolvimento. Para mais mais informações, consulte Chave.
"minimum_chrome_version"
- Define a versão mais antiga do Chrome que pode instalar a extensão. O valor
precisa ser uma substring de uma string de versão do navegador Chrome, como
"107"
ou"107.0.5304.87"
. Usuários com versões do Chrome mais antigas que a versão mínima veem um erro "Não compatível" na Chrome Web Store e não foi possível instalar sua extensão. Se você adicioná-lo a uma extensão existente, os usuários cuja versão do Chrome é mais antiga não receberão atualizações automáticas da sua . Isso inclui usuários comerciais temporário. "oauth2"
- Permite o uso de um ID de segurança do OAuth 2.0. O valor desta chave deve ser um
com as propriedades
"client_id"
e"scopes"
. Para mais detalhes, consulte a documentação do OAuth 2.0. "omnibox"
- Permite que a extensão registre uma palavra-chave na barra de endereço do Chrome. Para mais mais informações, consulte Omnibox.
"optional_host_permissions"
- Declara o host opcional permissões para sua extensão.
"optional_permissions"
- Declara permissões opcionais para sua extensão.
"options_page"
- Especifica um caminho para um arquivo options.html para a extensão usar como na página de opções. Para mais informações, consulte Fornecer aos usuários .
"options_ui"
- Especifica um caminho para um arquivo HTML que permite que um usuário altere as opções de extensão na página "Extensões do Chrome". Para mais informações, consulte Incorporação .
"permissions"
- Permite o uso de APIs de extensão específicas. Consulte Permissões para uma explicação geral. As páginas de referência de cada API listam os as permissões necessárias.
"requirements"
- Lista as tecnologias necessárias para usar a extensão. Para uma lista de dispositivos com suporte requisitos, consulte Requisitos.
"sandbox"
- Define um conjunto de páginas de extensão que não têm acesso a APIs de extensão ou acesso direto a páginas fora do sandbox. Para mais informações, consulte Sandbox.
"short_name"
- Uma string que contém uma versão abreviada do nome da extensão a ser usada quando o espaço dos caracteres é limitado. O tamanho máximo é de 12 caracteres. Se for indefinido, uma versão truncada do "nome" no lugar dele.
"side_panel"
- Identifica um arquivo HTML a ser exibido em um sidePanel.
"storage"
- Declara um esquema JSON para o armazenamento gerenciado área. Para mais informações, consulte Manifesto para áreas de armazenamento.
"tts_engine"
- Registra a extensão como um mecanismo de conversão de texto em voz. Para mais informações, consulte a API ttsEngine.
"update_url"
- Uma string contendo o URL da página de atualizações da extensão. Use essa chave se você está hospedando sua extensão; fora da Chrome Web Store.
"version_name"
- Uma string que descreve a versão da extensão. Os exemplos incluem
"1.0 beta"
e"build rc2"
. Se não for especificada, a "versão" é exibido na página de gerenciamento de extensões. "web_accessible_resources"
- Define os arquivos dentro da extensão que podem ser acessados por páginas da Web ou outras extensões. Para mais informações, consulte Acessibilidade da Web Recursos.
Chaves opcionais do ChromeOS
"file_browser_handlers"
- Fornece acesso ao
fileBrowserHandler
API que permite que as extensões acessem o navegador de arquivos do ChromeOS. "file_handlers"
- Especifica os tipos de arquivo que as extensões do ChromeOS devem gerenciar. Para mais informações, confira
file_handlers
. "file_system_provider_capabilities"
- Permite o acesso ao
fileSystemProvider
que permite que as extensões criem sistemas de arquivos que o ChromeOS pode usar. "input_components"
- Permite o uso da API Input Method Editor. Para mais informações, consulte
input_components
.