Desenvolver
Depois de ler a seção Get Started, use este guia como uma descrição dos componentes de extensão, os recursos deles no Manifest V3 e como combiná-los. Primeiro, familiarize-se com os recursos das extensões: Depois, saiba como combinar esses recursos usando a seção de conceitos principais das extensões.
Projetar a interface do usuário
A maioria das extensões precisa de algum tipo de interação do usuário para funcionar. Com a plataforma de extensões, você tem várias maneiras de adicionar interações à sua extensão. Esses métodos incluem pop-ups acionados pela barra de ferramentas do Chrome, painéis laterais, menus de contexto e muito mais.
Painel lateral
Use a API
chrome.sidePanel
para hospedar conteúdo no painel lateral do navegador com o conteúdo principal de uma página da Web.
Ação
Controla a exibição do ícone de uma extensão na barra de ferramentas.
Menus
Adicione itens ao menu de contexto do Google Chrome.
Controlar o navegador
As APIs de extensão do Chrome possibilitam mudar a forma como o navegador funciona.
Substituir páginas e configurações do Chrome
As substituições de configurações são uma maneira de as extensões modificarem as configurações selecionadas do Chrome. Além disso, as extensões podem usar páginas de substituição HTML para substituir uma página que o Google Chrome normalmente fornece. Uma extensão pode substituir o gerenciador de favoritos, a guia "Histórico" ou a nova guia.
Estender o DevTools
As extensões adicionam funcionalidade ao Chrome DevTools acessando APIs de extensão específicas dele por uma página adicionada à extensão. Também é possível usar a API
chrome.debugger
para invocar o protocolo de depuração remota do Chrome. Anexe a uma ou mais guias para instrumentar a interação de rede, depurar JavaScript, modificar o DOM e muito mais.
Mostre notificações
A API
chrome.notifications
permite criar notificações usando modelos e mostrá-las para os usuários na bandeja do sistema.
Gerenciar histórico
Use a API
chrome.history
para interagir com o registro de páginas visitadas do navegador e a API chrome.browsingData
para gerenciar outros dados de navegação. Use chrome.topSites
para acessar os sites mais visitados.
Controlar guias e janelas
Use APIs como
chrome.tabs
, chrome.tabGroups
e chrome.windows
para criar, modificar e organizar o navegador do usuário.
Adicionar atalhos do teclado
Use a API
chrome.commands
para adicionar atalhos de teclado que acionam ações na sua extensão. Por exemplo, você pode adicionar um atalho para abrir a ação do navegador ou enviar um comando para a extensão.
Autenticar usuários
Use a API
chrome.identity
para receber tokens de acesso do OAuth 2.0.
Gerenciar extensões
A API
chrome.management
oferece maneiras de gerenciar a lista de extensões instaladas e em execução. Esse recurso é particularmente útil para extensões que substituem a página "Nova guia" integrada.
Fornecer sugestões
A API
chrome.omnibox
permite registrar uma palavra-chave com a omnibox (barra de endereço) do Google Chrome.
Atualizar as configurações do Chrome
Use a API
chrome.privacy
para controlar o uso de recursos no Chrome que podem afetar a privacidade do usuário. Consulte também a API chrome.proxy
para gerenciar as configurações de proxy do Chrome.
Gerenciar downloads
Use a API
chrome.downloads
para iniciar, monitorar, manipular e pesquisar downloads de forma programática.
Usar os favoritos e a Lista de leitura
Use as APIs
chrome.bookmarks
e chrome.readingList
para criar, organizar e manipular essas listas.
Controle a Web
Altere dinamicamente o conteúdo e o comportamento das páginas da Web. É possível controlar e modificar a Web injetando scripts, interceptando solicitações de rede e usando APIs da Web para interagir com páginas.
Injetar JavaScript e CSS
Scripts de conteúdo são arquivos executados no contexto de páginas da Web. Eles usam o Modelo de objeto de documentos (DOM) padrão para ler detalhes de páginas da Web acessadas pelo navegador, fazer alterações e transmitir informações para a extensão pai.
Acessar a guia ativa
A permissão
"activeTab"
concede à extensão acesso temporário à guia ativa no momento quando o usuário invoca a extensão, por exemplo, clicando na ação. O acesso à guia dura enquanto o usuário está nessa página e é revogado quando ele sai ou fecha a guia.
Controlar solicitações da Web
Use as APIs
chrome.declarativeNetRequest
, chrome.webRequest
e chrome.webNavigation
para observar, bloquear e modificar solicitações de rede.
Gravação de áudio e captura de tela
Saiba mais sobre as diferentes abordagens para gravar áudio e vídeo de uma guia, janela ou tela usando APIs de plataforma da Web, como
chrome.tabCapture
ou getDisplayMedia()
.
Modificar configurações do site
Use a API
chrome.contentSettings
para controlar se os sites podem usar recursos como cookies, JavaScript e plug-ins. De modo geral, as configurações de conteúdo permitem que você personalize o comportamento do Chrome por site, e não globalmente.
Conceitos básicos
Com as APIs de plataforma da Web e extensão, você pode criar recursos mais complexos combinando diferentes componentes de IU e recursos da plataforma de extensões.
Service Workers
Um service worker de extensão (service-worker.js) é um script baseado em eventos executado em segundo plano pelo navegador. Muitas vezes, é usado para processar dados, coordenar tarefas em diferentes partes de uma extensão e como gerente de eventos da extensão.
Permissões
Entenda as permissões: como elas funcionam e quando evitar pedir quando não forem necessárias.
Mensagens
Muitas vezes, os scripts de conteúdo ou outras páginas de extensão precisam enviar ou receber informações do service worker de extensão. Nesses casos, qualquer um dos lados pode ouvir as mensagens enviadas da outra extremidade e responder no mesmo canal.
Mensagens nativas
Ative suas extensões para trocar mensagens com aplicativos nativos.
Evitar código hospedado remotamente
No Manifest V3, as extensões precisam agrupar todo o código que estão usando dentro da própria extensão. Existem diferentes estratégias para fazer isso.
Armazenamento
As extensões do Chrome têm uma API Storage especializada, disponível para todos os componentes de extensão. Ele inclui quatro áreas de armazenamento separadas para casos de uso específicos e um listener de eventos que rastreia sempre que os dados são atualizados.
Documentos fora da tela
Service workers não têm acesso ao DOM. A API Offscreen permite que a extensão use APIs DOM em um documento oculto sem interromper a experiência do usuário abrindo novas janelas ou guias.
Isolamento de origem cruzada
O isolamento de origem cruzada permite que uma página da Web use recursos avançados, como o
SharedArrayBuffer
. Uma extensão pode ativar o isolamento de origem cruzada especificando os valores apropriados para as chaves de manifesto "cross_origin_embedder_policy"
e "cross_origin_opener_policy"
.