Compartilhar via


Detetar o Microsoft Edge a partir do seu site

O Microsoft Edge permite que o seu site obtenha informações do agente do utilizador. Utilize as informações do agente de utilizador para apresentar páginas Web corretamente para o browser de cada utilizador. Os browsers fornecem mecanismos para os sites detetarem informações do browser, como a marca, o número da versão e o sistema operativo anfitrião.

Poderá querer proporcionar experiências diferentes aos utilizadores com base no respetivo browser. Por exemplo, se incluir passos sobre como configurar o Microsoft Edge ou outro browser para utilização com o seu site, poderá querer detetar o browser e, em seguida, mostrar o conteúdo adequado.

Mecanismos para a deteção do browser:

Mecanismo Lado do servidor Lado do cliente
Sugestões de Cliente do Agente de Utilizador (recomendado) Sec-CH-UA Cabeçalho HTTPS navigator.userAgentData Método JavaScript
Cadeia user-agent (legada) User-Agent Cabeçalho HTTPS navigator.userAgent Método JavaScript

Deteção de funcionalidades

A Microsoft recomenda detetar se uma funcionalidade é suportada no browser sempre que possível, em vez de detetar o browser.

Se tiver de detetar browsers, a Microsoft recomenda utilizar User-Agent Sugestões de Cliente, da seguinte forma, juntamente com a deteção de funcionalidades.

Sugestões de Cliente User-Agent

O Microsoft Edge suporta sugestões de cliente User-Agent.

User-Agent Sugestões de Cliente é um método que aborda questões de privacidade, permitindo que as páginas Web detetem informações do browser, como o nome do browser, o número da versão, a plataforma e muito mais. Em breve, a cadeia de User-Agent será bloqueada e preterida por vários browsers. Por exemplo, o site Estado da Plataforma do Chrome descreve a alteração em Funcionalidade: Reduzir as informações da cadeia de carateres do Agente de Utilizador.

Utilize User-Agent Sugestões de Cliente quando quiser:

  • Determine se a nova atividade do browser é do utilizador esperado.
  • Personalize sugestões ou instruções se o utilizador não estiver familiarizado com este site.

Não utilize User-Agent Sugestões de Cliente para:

  • Bloquear browsers não suportados .
  • Restringir o acesso às funcionalidades no seu site.

Para obter mais informações, veja a especificação em W3C Community Group Draft Report: User-Agent Client Hints (Relatório de Rascunho do Grupo de Comunidade w3C: User-Agent Sugestões de Cliente).

cabeçalho HTTPS sugestões de cliente do User-Agent

Quando o Microsoft Edge envia um pedido HTTPS para um servidor, envia um conjunto de cabeçalhos de Sugestões de Cliente de baixa entropia User-Agent. Para obter mais informações, consulte Tabela de sugestões de entropia baixa. Se o servidor necessitar de informações mais granulares sobre o browser, a resposta inclui um Accept-CH cabeçalho. O valor desse cabeçalho de resposta é uma lista separada por vírgulas de todos os cabeçalhos de pedido de Sugestões de Cliente que o servidor quer do browser, como Accept-CH: Sec-CH-UA-Full-Version,Sec-CH-UA-Platform-Version. O próximo pedido HTTPS do Microsoft Edge ao servidor incluirá os cabeçalhos especificados User-Agent Sugestões de Cliente.

Por predefinição, o Microsoft Edge envia os Sec-CH-UAcabeçalhos , Sec-CH-UA-Mobilee Sec-CH-UA-Platform do pedido no seguinte formato.

Sec-CH-UA: "Chromium";v="92", "Microsoft Edge";v="92", "Placeholder;Browser Brand";v="99"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Platform: "Windows"

A tabela seguinte mostra todos os cabeçalhos de pedido de sugestões disponíveis com valores de exemplo.

cabeçalho do pedido de User-Agent Exemplo User-Agent valor de resposta
Sec-CH-UA "Not_A Brand";v="8", "Chromium";v="120", "Microsoft Edge";v="120"
Sec-CH-UA-Mobile ?0
Sec-CH-UA-Full-Version 120.0.2210.91
Sec-CH-UA-Platform Windows
Sec-CH-UA-Platform-Version 15.0.0
Sec-CH-UA-Arch x86
Sec-CH-UA-Bitness 64
Sec-CH-UA-Model Surface Pro

User-Agent as Sugestões de Cliente só são enviadas através de ligações seguras com HTTPS.

API JavaScript de Sugestões de Cliente do User-Agent

Pode aceder User-Agent Sugestões de Cliente com JavaScript no lado do cliente. Quando chama a predefinição navigator.userAgentData, devolve a seguinte resposta.

{
  "brands": [
    {
      "brand": "Not_A Brand",
      "version":"8"
    },
    {
      "brand": "Chromium",
      "version":"120"
    },
    {
      "brand": "Microsoft Edge",
      "version":"120"
    }
  ],
  "mobile": false,
  "platform": "Windows"
}

Para enviar um pedido para obter informações mais detalhadas, como platform, utilize o seguinte código:

navigator.userAgentData.getHighEntropyValues([
  "architecture",
  "platform",
  "platformVersion",
  "uaFullVersion"
]).then(ua => {
  console.log(ua)
});

A resposta tem o seguinte formato:

{
  "architecture": "x86",
  "brands": [
    {
      "brand": "Not_A Brand",
      "version": "8"
    },
    {
      "brand": "Chromium",
      "version": "120"
    },
    {
      "brand": "Microsoft Edge",
      "version": "120"
    }
  ],
  "mobile": false,
  "platform": "Windows",
  "platformVersion": "15.0.0",
  "uaFullVersion": "120.0.2210.91"
}

Para obter mais informações, veja o método NavigatorUAData: getHighEntropyValues() no MDN.

platformVersion Hint

O token da versão do sistema operativo no User-Agent cabeçalho não foi atualizado para Windows 11 e, ainda assim, comunica Windows NT 10.0.

Para distinguir entre Windows 10 e Windows 11, peça a sugestão de platformVersion cliente no Microsoft Edge. Os valores entre e incluindo 1.0.0 e 12.0.0 representam versões de Windows 10, enquanto os valores de 14.0.0 ou posterior representam versões de Windows 11.

Combinar sugestões de cliente User-Agent com a deteção de funcionalidades

Combinar User-Agent Sugestões de Cliente com a deteção de funcionalidades é uma forma eficaz de fornecer conteúdo Web compatível. A Microsoft recomenda a utilização deste padrão para:

  • Melhorar a manutenção do código.
  • Reduza a fragilidade do código.
  • Reduza a quebra de código das alterações à cadeia de User-Agent.

Se precisar de marcar para um browser semelhante ao Chrome, a Microsoft recomenda detetar Chromium, que é o motor que alimenta o Microsoft Edge.

Utilize este método para verificar a Chromium marca e aplicar a deteção a todos os browsers Chromium afetados:

function isChromium() {
  for (brand_version_pair of navigator.userAgentData.brands) {
    if (brand_version_pair.brand == "Chromium"){
      return true;
    }
  }
  return false;
}

Utilize o método acima para evitar verificações de codificação de marcas em índices específicos. As encomendas de apresentação de marcas podem mudar ao longo do tempo.

Se não conseguir utilizar a deteção de funcionalidades, não utilize uma lista codificada de browsers conhecidos baseados em Chromium para verificação. Exemplos de nomes de browsers codificados incluem Microsoft Edge e Google Chrome. A deteção de funcionalidades pode não estar disponível, porque uma correção para um erro de Chromium em versões posteriores tem de ser evitada e os browsers afetados são difíceis de detetar.

cadeias de User-Agent

User-Agent cadeias de carateres estão desatualizadas e têm um longo histórico de problemas de compatibilidade do site.

Sempre que possível, a Microsoft recomenda minimizar a utilização da lógica de deteção do browser Microsoft Edge com base na cadeia de User-Agent. Se tiver um bom motivo para detetar o browser, a equipa do Microsoft Edge recomenda a utilização de Sugestões de Cliente do Agente de Utilizador como a lógica de deteção primária. As Sugestões de Cliente do Agente de Utilizador também reduzem a complexidade do código de deteção do browser.

Para referência legada, as seguintes informações foram incluídas na cadeia de User-Agent.

No Windows, o cabeçalho do User-Agent pedido HTTP inclui:

Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0
Safari/537.36
Edg/120.0.0.0

No Android, o cabeçalho do User-Agent pedido HTTP inclui:

Mozilla/5.0 (Linux; Android 10; K)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0
Mobile Safari/537.36
EdgA/120.0.0.0

O valor de resposta do navigator.userAgent método utiliza o seguinte formato:

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0"

Os identificadores de plataforma mudam com base no sistema operativo e os números de versão aumentam ao longo do tempo. O formato é o mesmo que o Chromium agente de utilizador com a adição de um novo Edg token no final. A Microsoft escolheu o Edg token para evitar problemas de compatibilidade causados pela Edge cadeia, que foi utilizada anteriormente para o browser Microsoft Edge legado com base no EdgeHTML. O Edg token também é consistente com os tokens existentes utilizados para iOS e Android.

Identificadores do Microsoft Edge em várias plataformas

Nos sistemas operativos de ambiente de trabalho, o Edg Microsoft Edge é normalmente identificado pelo token na cadeia de User-Agent. No entanto, é utilizado um token diferente para o Microsoft Edge em algumas plataformas de dispositivos, da seguinte forma:

Plataforma Token de identificador
Ambiente de Trabalho (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (Dispositivos móveis/tablets) EdgA

Versão Prévia do Microsoft Edge já não é suportada. Consulte a secção Versão Prévia do Microsoft Edge para obter detalhes.

Mapear a cadeia de User-Agent para um nome de browser expandido

Mapeie os tokens de cadeia de User-Agent para nomes de browser legíveis por humanos para utilizar no código. Esta prática é comum em toda a Web. Quando mapeia o Edg token para um nome de browser, a Microsoft recomenda a utilização de um nome diferente do utilizado para o browser Microsoft EdgeHTML legado, para evitar a aplicação acidental de soluções legadas que não se aplicam a browsers baseados em Chromium.

substituições de User-Agent

Por vezes, um site não reconhece o agente de utilizador do Microsoft Edge. Como resultado, um conjunto de funcionalidades do site pode não funcionar corretamente. Quando a Microsoft é notificada sobre os tipos de problemas, a Microsoft contacta-o (um proprietário do site) e informa-o sobre o agente de utilizador atualizado.

Poderá precisar de mais tempo para atualizar e testar a lógica de deteção do agente do utilizador para que o seu site resolva os problemas comunicados pela Microsoft. Para maximizar a compatibilidade para os seus utilizadores, os canais Microsoft Edge Beta e Estável utilizam uma lista de substituições do agente de utilizador. Utilize as substituições do agente de utilizador enquanto atualiza o seu site. A lista de substituições de agente de utilizador é fornecida pela Microsoft.

As substituições especificam novos valores de agente de utilizador que o Microsoft Edge envia em vez do agente de utilizador predefinido para sites específicos. Para apresentar a lista de substituições do agente de utilizador que estão atualmente aplicadas:

  1. Abra o canal Microsoft Edge Beta ou Estável.

  2. Saiba mais em edge://compat/useragent.

Os canais Microsoft Edge Canary e Dev não recebem atualmente substituições do agente do utilizador. Os canais Microsoft Edge Canary e Dev fornecem ambientes que utilizam o agente de utilizador predefinido do Microsoft Edge. Utilize os canais Microsoft Edge Canary e Dev para reproduzir problemas no seu site causados pelo agente de utilizador predefinido do Microsoft Edge.

Para desativar as substituições do agente de utilizador nos canais Microsoft Edge Beta ou Estável:

  1. Abra um prompt de comando. Por exemplo, introduza cmd na caixa de texto de pesquisa do Windows e selecione a aplicação Linha de Comandos .

  2. Copie o seguinte código:

    --disable-domain-action-user-agent-override
    
  3. Execute a aplicação Microsoft Edge com o código copiado da seguinte forma:

    {path/to/microsoft/edge.ext} --disable-domain-action-user-agent-override
    

Microsoft Edge Herdado

Considerações sobre o browser legado:

  • O browser Versão Prévia do Microsoft Edge já não é suportado. Consulte a mensagem de blogue Novo Microsoft Edge para substituir Versão Prévia do Microsoft Edge.

  • Versão Prévia do Microsoft Edge só estava disponível em Windows 10.

  • De todos os mecanismos de User-Agent descritos neste artigo, o único mecanismo específico do browser suportado para Versão Prévia do Microsoft Edge é User-Agent cadeia.

  • A cadeia de User-Agent para Versão Prévia do Microsoft Edge inclui o Edge token.

    Um exemplo totalmente formado de uma cadeia de Versão Prévia do Microsoft Edge User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.19582

Confira também

Detetar Windows 11 e a arquitetura da CPU com sugestões de cliente User-Agent