Extensões do navegador
Extensões são capazes de extender e modificar a capacidade de um navegador. As extensões para Firefox são criadas usando a API WebExtensions, um sistema comum a vários navegadores para desenvolvimento de extensões. Em grande parte, o sistema é compatível com a API de extensões suportada pelo Google Chrome, Opera e W3C Draft Community Group.
Extensões escritas para esses navegadores na maioria dos casos vão funcionar no Firefox ou Microsoft Edge com apenas algumas alterações. A API é também totalmente compatível com o multiprocessamento do Firefox.
Se você tem dúvidas ou sugestões, ou precisa de ajuda para migrar um complemento legado para usar APIs WebExtensions, pode entrar em contato conosco pela newsletter de desenvolvimento de complementos ou #webextensions no IRC.
Começando
Conceitos
Interface do usuário
- Introdução
- Botão na barra de ferramenta
- Botão na barra de ferramenta com um popup
- Botão na barra de endereços
- Botão na barra de endereços com um popup
- Itens de menu de contexto
- Painéis laterais
- Página de opções
- Páginas da extensão
- Notificação
- Sugestões na barra de endereços
- Painéis na ferramenta do desenvolvedor
Como
- Interceptar solicitações HTTP
- Modificar uma página da web
- Adicionar um botão na barra de ferramenta
- Implementar uma página de configurações
- Interagir com a área de transferência
- Trabalhar com a API de abas
- Trabalhar com a API de favoritos
- Trabalhar com a API de cookies
- Trabalhar com identidades contextuais
- Inserir conteúdo externo
Portabilidade
Fluxo de trabalho do Firefox
- Experiência do usuário
- Instalando
- Depurando
- Testando funcionalidades de persistência e reinicialização
- Começando com web-ext
- Referência de comandos web-ext
- Extensões e ID de complementos
- Opções de distribuição alternativas
- Solicitando as permissões corretas
- Compartilhando objetos com scripts de páginas
- Publicando sua extensão
- Descontinuando sua extensão
- Dicas e truques
Referências
APIs JavaScript
Chaves do Manifest
- action
- author
- background
- browser_action
- browser_specific_settings
- chrome_settings_overrides
- chrome_url_overrides
- commands
- content_scripts
- content_security_policy
- declarative_net_request
- default_locale
- description
- developer
- devtools_page
- dictionaries
- externally_connectable
- homepage_url
- host_permissions
- icons
- incognito
- manifest_version
- name
- offline_enabled
- omnibox
- optional_host_permissions
- optional_permissions
- options_page
- options_ui
- page_action
- permissions
- protocol_handlers
- short_name
- sidebar_action
- storage
- theme
- theme_experiment
- user_scripts
- version
- version_name
- web_accessible_resources