Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Como desenvolvedor de extensão do Microsoft Edge, você pode fazer com que sua extensão do Microsoft Edge nova ou existente apareça na barra lateral. Qualquer extensão pode usar a barra lateral, além de sua outra interface do usuário.
Conteúdo detalhado:
- Introdução
- Conceitos e uso
- Adicione a permissão sidePanel no arquivo de manifesto
- Casos de uso para a API do painel lateral
- Experiência do usuário na barra lateral
- Exemplos de extensão
- Tipos e métodos
- Confira também
Introdução
Use a chrome.sidePanel API para hospedar conteúdo na barra lateral do Microsoft Edge ao lado do conteúdo principal de uma página da Web.
Como desenvolvedor de extensão do Microsoft Edge, você pode fazer com que sua extensão do Microsoft Edge nova ou existente apareça na barra lateral. Qualquer extensão pode usar a barra lateral, além de sua outra interface do usuário.
Usando a API do painel lateral, você pode aprimorar a experiência de navegação, permitindo que os usuários exibam informações adicionais juntamente com o conteúdo principal de uma página da Web.
A barra lateral é um painel persistente localizado na lateral do Microsoft Edge. O painel da barra lateral coexiste com o conteúdo principal do navegador. A barra lateral reduz a necessidade de alternar constantemente entre as guias, resultando em uma experiência de navegação mais produtiva.
Opcionalmente, uma extensão pode usar a API do Painel Lateral para mostrar uma interface do usuário personalizada na barra lateral do Microsoft Edge. Além disso, a extensão pode continuar aparecendo na barra de ferramentas do Microsoft Edge junto com uma interface do usuário, como pop-ups, e pode injetar scripts.
Terminologia
| Termo | Definição |
|---|---|
| a API do Painel Lateral | Nome do recurso que você pode usar em suas extensões do Microsoft Edge. A interface do usuário do Chrome usa o termo painel lateral. |
sidePanel ou side_panel |
Nome da API e permissão para habilitar qualquer extensão como uma extensão da barra lateral. |
| extensão da barra lateral | Uma extensão do Microsoft Edge que tenha uma interface do usuário na barra lateral. |
Conceitos e uso
A API do Painel Lateral permite que uma extensão exiba sua própria interface do usuário na barra lateral do Microsoft Edge, permitindo uma experiência persistente que complementa a jornada de navegação do usuário.
Assim como acontece com outros recursos de extensão, a página HTML exibida na barra lateral é executada em um contexto de extensão confiável na origem da extensão (extension://<id>). A barra lateral tem o mesmo acesso à API que outros contextos de extensão confiáveis.
Todas as APIs de extensões existentes estão disponíveis para extensões da barra lateral, para que você possa aproveitar todos os recursos atuais da estrutura de extensibilidade em sua extensão habilitada para barra lateral.
Alguns recursos da barra lateral incluem:
A barra lateral permanece aberta enquanto navega entre as guias.
- Problema conhecido: a barra lateral não é exibida automaticamente novamente quando o usuário alterna para uma guia na qual a barra lateral estava aberta anteriormente (Problema #142).
Uma extensão na barra lateral pode ser disponibilizada para sites específicos.
Uma extensão na barra lateral dá acesso a todas as APIs com suporte para extensões do Microsoft Edge.
Nas configurações do Microsoft Edge, o usuário pode especificar várias configurações da barra lateral.
Adicione a permissão sidePanel no arquivo de manifesto
Para usar a API do painel lateral, adicione a "sidePanel" permissão no arquivo de manifesto da extensão (manifest.json):
{
...
"name": "My sidebar extension",
...
"side_panel": {
"default_path": "sidepanel.html"
},
"permissions": [
"sidePanel"
]
...
}
Cada extensão para o Microsoft Edge tem um arquivo de manifesto formatado em JSON, chamado manifest.json. O arquivo de manifesto é o blueprint da extensão.
Um arquivo de manifesto completo é incluído em cada amostra; consulte Exemplos de extensão, abaixo.
Veja também:
Casos de uso para a API do painel lateral
As seções a seguir demonstram alguns casos de uso comuns para a API do painel lateral.
Para obter exemplos completos de extensão, consulte Exemplos de extensão, abaixo.
Exibir a mesma barra lateral em todos os sites
Uma barra lateral pode ser definida como padrão para mostrar a mesma extensão em todas as guias abertas do navegador. Os valores padrão persistem entre as sessões do navegador.
Em manifest.json, defina a "default_path" chave, por exemplo "sidepanel.html":
{
"name": "My sidebar extension",
...
"side_panel": {
"default_path": "sidepanel.html"
}
...
}
O arquivo que você especificou como padrão, como sidepanel.html, é exibido em todas as guias abertas do navegador:
<!DOCTYPE html>
<html>
<head>
<title>Global side panel</title>
</head>
<body>
<h1>All sites sidepanel extension</h1>
<p>This side panel is enabled on all sites</p>
</body>
</html>
Veja também:
- Exemplo de painel lateral global no repositório GoogleChrome / chrome-extensions-samples .
Habilitar uma barra lateral somente para um site específico
Uma extensão pode usar sidepanel.setOptions() para habilitar uma barra lateral em uma guia específica. Pode ser um site específico, portanto, a extensão será aberta na barra lateral quando o usuário acessar esse site.
Este exemplo usa chrome.tabs.onUpdated() para escutar todas as atualizações feitas na guia. Ele verifica se a URL está www.bing.com e, em caso afirmativo, habilita a barra lateral. Caso contrário, desativará a barra lateral.
service-worker.js:
const BING_ORIGIN = 'https://www.bing.com';
chrome.tabs.onUpdated.addListener(async (tabId, info, tab) => {
if (!tab.url) return;
const url = new URL(tab.url);
// Enables the sidebar when at bing.com
if (url.origin === BING_ORIGIN) {
await chrome.sidePanel.setOptions({
tabId,
path: 'sidepanel.html',
enabled: true
});
} else {
// Disables the sidebar when at other sites
await chrome.sidePanel.setOptions({
tabId,
enabled: false
});
}
});
Em addListener(), fazemos o seguinte:
- Teste
url.originpara ver se é a guia desejada. - Em
sidePanel.setOptions(), definaenabledcomotrueoufalse.
Quando um usuário alterna para uma guia ou site para o qual a barra lateral não está habilitada, a barra lateral fica oculta.
Problema conhecido: a barra lateral não é exibida automaticamente novamente quando o usuário alterna para uma guia na qual a barra lateral estava aberta anteriormente (Problema #142).
Para obter um exemplo completo, consulte Exemplo de painel lateral específico do site.
Habilitar o ícone de atalho da extensão para abrir a barra lateral
Para permitir que os usuários abram a barra lateral clicando no ícone da barra de ferramentas de ação, use sidePanel.setPanelBehavior(). Primeiro, declare a "action" chave em manifest.json:
{
"name": "My sidebar extension",
...
"action": {
"default_title": "Click to open sidebar"
},
...
}
Em seguida, adicione o seguinte código à service-worker.js listagem de código que está em Habilitar uma barra lateral somente para um site específico, acima:
// Allow users to open the sidebar by clicking the action toolbar icon
chrome.sidePanel
.setPanelBehavior({ openPanelOnActionClick: true })
.catch((error) => console.error(error));
Abrir a barra lateral após a interação do usuário
sidePanel.open() Permite que as extensões abram a barra lateral por meio de um gesto do usuário, como clicar no ícone de ação, ou por meio de qualquer interação do usuário em uma página de extensão ou script de conteúdo, como clicar em um botão.
O código a seguir mostra como abrir uma barra lateral global na janela atual quando o usuário clica em um menu de contexto. Ao usar sidePanel.open(), escolha o contexto no qual a barra lateral deve ser aberta:
- Use
windowIdpara abrir uma barra lateral global, conforme mostrado no exemplo a seguir. - Ou defina como
tabIdpara abrir a barra lateral somente em uma guia específica.
// service-worker.js:
chrome.runtime.onInstalled.addListener(() => {
chrome.contextMenus.create({
id: 'openSidePanel',
title: 'Open sidebar',
contexts: ['all']
});
});
chrome.contextMenus.onClicked.addListener((info, tab) => {
if (info.menuItemId === 'openSidePanel') {
// Open the sidebar in all the tabs of the current window.
chrome.sidePanel.open({ windowId: tab.windowId });
}
});
Para obter uma demonstração completa, consulte Abrindo o painel lateral por meio de uma interação do usuário.
Alternar para uma barra lateral diferente
Uma extensão pode usar sidepanel.getOptions() para recuperar a barra lateral atual e, em seguida, habilitar uma barra lateral diferente para uma guia específica.
Este exemplo define uma barra lateral contendo uma mensagem de boas-vindas em runtime.onInstalled(). Quando o usuário navega para uma guia diferente, a barra lateral é substituída pela barra lateral no nível do navegador.
// service-worker.js:
const welcomePage = 'sidebar/welcome-sb.html';
const mainPage = 'sidebar/main-sb.html';
chrome.runtime.onInstalled.addListener(() => {
chrome.sidePanel.setOptions({ path: welcomePage });
});
chrome.tabs.onActivated.addListener(async ({ tabId }) => {
const { path } = await chrome.sidePanel.getOptions({ tabId });
if (path === welcomePage) {
chrome.sidePanel.setOptions({ path: mainPage });
}
});
Para obter o código completo, consulte Exemplo de vários painéis laterais.
Experiência do usuário na barra lateral
Desenvolva uma extensão para a barra lateral do Microsoft Edge tenha esses recursos de experiência do usuário (UX).
Abrir a extensão na barra lateral
Para permitir que os usuários abram a barra lateral, siga um destes procedimentos:
Use um ícone de ação em combinação com
sidePanel.setPanelBehavior().Faça uma chamada para
sidePanel.open()seguir uma interação do usuário para abrir a extensão na barra lateral, como:
Os detalhes estão abaixo.
Ao clicar em um ícone
Os usuários podem clicar no ícone Abrir na barra lateral (
), que é exibido ao lado do nome da extensão no hub Extensões:
Ou os usuários podem clicar no ícone personalizado da extensão na barra de ferramentas, se ela estiver habilitada. Essa experiência do usuário requer que a extensão tenha habilitado o ícone de atalho para abrir a barra lateral, conforme descrito em Habilitar o ícone de atalho da extensão para abrir a barra lateral, acima. Neste exemplo, o ícone personalizado da extensão é um círculo (
):
Veja também:
Clicando com o botão direito do mouse no ícone da extensão
Os usuários podem clicar com o botão direito do mouse no ícone da extensão na barra de ferramentas e selecionar Abrir na barra lateral ou Fechar barra lateral:
O ícone da extensão aparecerá na barra de ferramentas se o usuário tiver clicado no ícone Mostrar na barra de ferramentas (
) ao lado do nome da extensão no hub Extensões.
Veja também:
Ao pressionar um atalho de teclado
Os usuários podem pressionar um atalho de teclado se o comando de ação estiver ativado e o ícone de ação estiver ativado para abrir a barra lateral.
- Para ativar o comando de ação, consulte Comandos de ação em chrome.commands na referência de API.
- Para ativar o ícone de ação, consulte Abra o painel lateral clicando no ícone da barra de ferramentas em chrome.sidePanel na referência da API.
Se a openPanelOnActionClick() propriedade do tipo PanelBehavior estiver definida como true, o usuário poderá abrir a barra lateral usando um atalho de teclado. Para habilitar isso, você especifica um comando de ação no manifesto.
Veja também:
Abrir através de um gesto
A barra lateral também pode ser aberta através das seguintes interações:
Abra a barra lateral por meio de um gesto do usuário da extensão, como clicar no ícone de ação. Essa abordagem usa sidePanel.open(). Veja Abrindo a barra lateral na interação do usuário, acima.
Abra a barra lateral clicando no ícone da barra de ferramentas. Essa abordagem usa sidePanel.setPanelBehavior(). Consulte Ao clicar em um ícone na seção "Abrindo a extensão na barra lateral", acima.
Exemplos de extensão
Para obter mais demonstrações de extensões da API do Painel Lateral, explore qualquer uma das seguintes extensões:
Exemplo de painel lateral global - usado para a seção Exibir a mesma barra lateral em todos os sites, acima.
Exemplo de painel lateral específico do site - usado para a seção Habilitar uma barra lateral apenas para um site específico, acima.
Exemplo de painel lateral do dicionário - comparável aos dois exemplos acima.
Abrindo o painel lateral por meio de uma interação do usuário - usado para a seção Abrindo a barra lateral na interação do usuário, acima.
Exemplo de vários painéis laterais - usado para a seção Mudar para uma barra lateral diferente, acima.
Veja também:
Tipos e métodos
Consulte Tipos e métodos na página de referência da API chrome.sidePanel em developer.chrome.com.
Confira também
- APIs com suporte para extensões do Microsoft Edge
- Declarar permissões de API no manifesto
- Formato de arquivo do manifesto para extensões
- Exemplo: página da Web pop-up do visualizador de imagens
- Exemplo: Inseridor de imagem usando script de conteúdo
Observação
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Google e usadas de acordo com os termos descritos na Licença Creative Commons Atribuição 4.0 Internacional. A página original é encontrada aqui.
Este trabalho está licenciado sob uma Licença Creative Commons Atribuição 4.0 Internacional.