Conceitos e arquitetura da extensão
Este artigo apresenta conceitos sobre a criação de uma extensão do Microsoft Edge. Acompanhe para compreender como funcionam os browsers multi-separadores.
Uma extensão do Microsoft Edge é uma pequena aplicação na qual os utilizadores podem optar por adicionar ou modificar funcionalidades do Microsoft Edge para fornecer uma experiência ou função especializada que é importante para um público-alvo. Para obter uma introdução, consulte Descrição geral das extensões do Microsoft Edge.
Compreender como funcionam os browsers
A lista seguinte descreve informações úteis a compreender antes de criar a extensão.
Os separadores do browser são threads isolados
Cada separador do browser é isolado de todos os outros separadores. Cada separador é executado num thread separado que está isolado de outros separadores e threads do browser.
Cada separador processa um pedido GET
Cada separador processa um pedido GET. Cada separador utiliza um URL para obter um único fluxo de dados, que normalmente é um documento HTML. Esse fluxo ou página individual inclui instruções como JavaScript: etiquetas, referências de imagens, referências CSS e muito mais. Todos os recursos são transferidos para essa página de separador e, em seguida, a página é composta no separador.
A comunicação ocorre entre cada separador e um servidor remoto
A comunicação ocorre entre cada separador e um servidor remoto. Cada separador é executado num ambiente isolado. Cada separador ainda está ligado à Internet, mas cada um está isolado de outros separadores. Um separador pode executar JavaScript para comunicar com um servidor. O servidor é o servidor de origem para o primeiro pedido GET que foi introduzido na barra de URL do separador.
Modelo de comunicação
O modelo de extensão utiliza um modelo de comunicação diferente. Semelhante a uma página de separador, uma extensão é executada num thread individual isolado de outros threads de página de separador. Um separador envia pedidos GET únicos para servidores remotos e, em seguida, compõe a página. No entanto, uma extensão funciona de forma semelhante a um servidor remoto. Instalar uma extensão num browser cria um servidor Web autónomo no browser. A extensão está isolada de todas as páginas de separador.
Arquitetura da extensão
A lista seguinte descreve informações úteis relacionadas com a arquitetura de uma extensão.
Pacote de servidor Web de extensão
Uma extensão é um conjunto de recursos Web. Os recursos Web são semelhantes a outros recursos que o utilizador (o programador Web) publica nos servidores Web. Pode agrupar os recursos Web num ficheiro zip ao criar uma extensão.
O ficheiro zip inclui FICHEIROS HTML, CSS, JavaScript e ficheiros de imagem. É necessário mais um ficheiro na raiz do ficheiro zip. O outro ficheiro é o ficheiro de manifesto com o nome manifest.json
. O ficheiro de manifesto é o esquema da sua extensão e inclui a versão da extensão, o título, as permissões necessárias para que a extensão seja executada, etc.
Iniciar o servidor de extensões
Os servidores Web contêm o seu pacote Web. Um browser navega para URLs no servidor e transfere o ficheiro para compor no browser. Um browser navega através de certificados, ficheiros de configuração, etc. Se for especificado um index.html
ficheiro, o ficheiro é armazenado numa localização especial no servidor Web.
Quando utiliza uma extensão, a página de separador do browser chega ao pacote Web da sua extensão através do runtime de extensão. O runtime da extensão serve os ficheiros do URL extension://{some-long-unique-identifier}/index.html
, em que {some-long-unique-identifier}
é um identificador exclusivo atribuído à extensão durante a instalação. Cada extensão utiliza um identificador exclusivo diferente. Cada identificador aponta para o pacote Web que está instalado no browser.
Comunicação com separadores e barra de ferramentas do browser
Uma extensão pode comunicar com separadores e a barra de ferramentas do browser. Uma extensão pode interagir com a barra de ferramentas do seu browser. Cada extensão gere a execução de páginas de separador em threads separados e a manipulação do DOM em cada página de separador é isolada. Uma extensão utiliza a API de extensões para comunicar entre a extensão e as páginas de separador. A API de extensões fornece capacidades adicionais que incluem gestão de notificações, gestão de armazenamento, etc.
Tal como os servidores Web, uma extensão aguarda notificações quando o browser está aberto. Uma extensão e páginas de separador são executadas em threads isolados uns dos outros. Para permitir que uma extensão funcione com qualquer página de separador, utilize a API de extensões e defina as permissões no ficheiro de manifesto.
Permissões de opt-in no momento da instalação
Uma extensão fornece permissões de opt-in no momento da instalação. Especifique as permissões de extensão no manifest.json
ficheiro. Quando um utilizador instala uma extensão, são apresentadas informações sobre as permissões necessárias para a extensão. Com base no tipo de permissão necessária, a extensão pode extrair e utilizar informações do browser.
Próximas etapas
Para obter informações sobre como começar a utilizar a extensão, consulte Tutorial parte 1: Apresentar uma imagem num pop-up.