Detectando o Microsoft Edge em seu site

O Microsoft Edge permite que seu site recupere informações do agente de usuário. Você usa as informações do agente de usuário para apresentar as páginas da Web corretamente para o navegador de cada usuário. Os navegadores fornecem mecanismos para os sites detectarem informações do navegador, como marca, número de versão e sistema operacional host.

  • Dicas de cliente do agente de usuário são a melhor maneira de recuperar informações do navegador. Confira Dicas de cliente do agente de usuário, abaixo.

  • As cadeias de caracteres do Agente de Usuário são uma maneira herdada de recuperar informações do navegador. Eles estão desatualizados e têm um histórico de causar problemas de compatibilidade do site. Confira Cadeias de caracteres do Agente de Usuário, abaixo.

Talvez você queira fornecer experiências diferentes aos usuários com base em seu navegador. Por exemplo, se você incluir etapas sobre como configurar o Microsoft Edge ou outro navegador para uso com seu site, talvez você queira detectar o navegador e mostrar o conteúdo apropriado.

Mecanismos para detecção de navegador:

Mecanismo Lado do servidor Lado do cliente
Dicas de cliente do agente de usuário (recomendado) Sec-CH-UA Cabeçalho HTTPS navigator.userAgentData Método JavaScript
Cadeia de caracteres do Agente de Usuário (herdada) User-Agent Cabeçalho HTTPS navigator.userAgent Método JavaScript

Detecção de recursos

A Microsoft recomenda detectar se um recurso tem suporte no navegador sempre que possível, em vez de detectar o navegador.

Se você precisar detectar navegadores, a Microsoft recomenda usar User-Agent Dicas do Cliente, da seguinte maneira, juntamente com a detecção de recursos.

dicas do cliente User-Agent

O Microsoft Edge dá suporte a dicas de cliente User-Agent.

User-Agent Dicas do Cliente é um método que aborda preocupações de privacidade, permitindo que páginas da Web detectem informações do navegador, como nome do navegador, número de versão, plataforma e muito mais. Em breve, a cadeia de caracteres User-Agent será congelada e preterida por vários navegadores. Por exemplo, o site Status da Plataforma Chrome descreve a alteração no Recurso: Reduzir informações de cadeia de caracteres do Agente de Usuário.

Empregue dicas de cliente User-Agent quando quiser:

  • Determine se a nova atividade do navegador é do usuário esperado.
  • Personalize dicas ou instruções se o usuário for novo neste site.

Não use User-Agent dicas do cliente para:

  • Bloquear navegadores sem suporte .
  • Restrinja o acesso a recursos em seu site.

Para obter mais informações, consulte a especificação no Relatório de Rascunho do Grupo da Comunidade W3C: User-Agent Dicas do cliente.

cabeçalho HTTPS de dicas do cliente User-Agent

Quando o Microsoft Edge envia uma solicitação HTTPS para um servidor, ele envia um conjunto de cabeçalhos de dicas de cliente User-Agent baixa entropia. Para obter mais informações, confira Tabela de dicas de entropia baixa. Se o servidor exigir informações mais granulares sobre o navegador, sua 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 solicitação de Dicas do Cliente que o servidor deseja do navegador, como Accept-CH: Sec-CH-UA-Full-Version,Sec-CH-UA-Platform-Version. A próxima solicitação HTTPS do Microsoft Edge para o servidor incluirá os cabeçalhos especificados User-Agent Dicas do Cliente.

Por padrão, o Microsoft Edge envia os Sec-CH-UAcabeçalhos , Sec-CH-UA-Mobilee Sec-CH-UA-Platform solicitação no formato a seguir.

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 a seguir mostra todos os cabeçalhos de solicitação de dicas disponíveis com valores de exemplo.

cabeçalho de solicitação 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 dicas de cliente são enviadas apenas por conexões seguras usando HTTPS.

User-Agent API JavaScript dicas do cliente

Você pode acessar User-Agent Dicas do Cliente usando JavaScript no lado do cliente. Quando você chama o padrão navigator.userAgentData, ele retorna a resposta a seguir.

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

Para enviar uma solicitação para obter informações mais detalhadas, como platform, use 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, consulte Método NavigatorUAData: getHighEntropyValues() no MDN.

Dica de platformVersion

O token de versão do sistema operacional no User-Agent cabeçalho não foi atualizado para Windows 11 e ainda relata Windows NT 10.0.

Para distinguir entre Windows 10 e Windows 11, solicite a dica do platformVersion cliente no Microsoft Edge. Valores entre e incluindo 1.0.0 e 12.0.0 representam versões de Windows 10, enquanto valores de 14.0.0 ou posterior representam versões de Windows 11.

Combinar dicas de cliente User-Agent com a detecção de recursos

Combinar dicas de cliente User-Agent com a detecção de recursos é uma maneira eficaz de fornecer conteúdo da Web compatível. A Microsoft recomenda usar esse padrão para:

  • Melhorar a manutenção de código.
  • Reduzir a fragilidade do código.
  • Reduza a interrupção de código de alterações na cadeia de caracteres User-Agent.

Se você precisar marcar para um navegador semelhante ao Chrome, a Microsoft recomenda detectar Chromium, que é o mecanismo que alimenta o Microsoft Edge.

Use esse método para verificar a Chromium marca e aplicar a detecção a todos os navegadores baseados em Chromium afetados:

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

Use o método acima para evitar verificações de codificação dura para marcas em índices específicos. As ordens de exibição de marcas podem ser alteradas ao longo do tempo.

Se você não puder usar a detecção de recursos, não use uma lista codificada de navegadores conhecidos baseados em Chromium para verificação. Exemplos de nomes de navegador codificados incluem Microsoft Edge e Google Chrome. A detecção de recursos pode não estar disponível, pois uma correção para um bug Chromium em versões posteriores deve ser evitada e os navegadores afetados são difíceis de detectar.

cadeias de caracteres User-Agent

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

Sempre que possível, a Microsoft recomenda minimizar o uso da lógica de detecção de navegador do Microsoft Edge com base na cadeia de caracteres User-Agent. Se você tiver um bom motivo para detectar o navegador, a equipe do Microsoft Edge recomenda usar dicas de cliente do agente de usuário como a lógica de detecção primária. Dicas de cliente do agente de usuário também reduz a complexidade do código de detecção do navegador.

Para referência herdada, as informações a seguir foram incluídas em User-Agent cadeia de caracteres.

No Windows, o cabeçalho de solicitação User-Agent 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 de solicitação User-Agent 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 usa 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 são alterados com base no sistema operacional e os números de versão são incrementados ao longo do tempo. O formato é o mesmo que o Chromium agente de usuário 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 de caracteres, que foi usada anteriormente para o navegador herdado do Microsoft Edge com base no EdgeHTML. O Edg token também é consistente com tokens existentes usados para iOS e Android.

Identificadores do Microsoft Edge em várias plataformas

Nos sistemas operacionais da área de trabalho, o Edg Microsoft Edge é comumente identificado pelo token na cadeia de caracteres User-Agent. No entanto, um token diferente para o Microsoft Edge é usado em algumas plataformas de dispositivo, da seguinte maneira:

Plataforma Token de identificador
Área de trabalho (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (Mobile/tablet) EdgA

Versão Prévia do Microsoft Edge não há mais suporte. Consulte a seção Versão Prévia do Microsoft Edge para obter detalhes.

Mapear a cadeia de caracteres User-Agent para um nome de navegador expandido

Mapeie os tokens de cadeia de caracteres User-Agent para nomes de navegador legível pelo homem a serem usados no código. Essa prática é comum em toda a Web. Quando você mapeia o Edg token para um nome de navegador, a Microsoft recomenda usar um nome diferente do usado para o navegador herdado do Microsoft EdgeHTML, para evitar a aplicação acidental de soluções alternativas herdadas que não se aplicam a navegadores baseados em Chromium.

substituições User-Agent

Às vezes, um site não reconhece o agente de usuário do Microsoft Edge. Como resultado, um conjunto de recursos do site pode não funcionar corretamente. Quando a Microsoft é notificada sobre os tipos de problemas, a Microsoft entra em contato com você (proprietário de um site) e informa sobre o agente de usuário atualizado.

Talvez seja necessário mais tempo para atualizar e testar a lógica de detecção do agente de usuário para seu site para resolver os problemas relatados pela Microsoft. Para maximizar a compatibilidade para seus usuários, os canais Microsoft Edge Beta e Estável usam uma lista de substituições do agente de usuário. Use as substituições do agente de usuário ao atualizar seu site. A lista de substituições de agente de usuário é fornecida pela Microsoft.

As substituições especificam novos valores de agente de usuário que o Microsoft Edge envia em vez do agente de usuário padrão para sites específicos. Para exibir a lista de substituições do agente de usuário que são aplicadas no momento:

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

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

Atualmente, os canais Canário e Dev do Microsoft Edge não recebem substituições de agente de usuário. Os canais Canário e Dev do Microsoft Edge fornecem ambientes que usam o agente de usuário padrão do Microsoft Edge. Use os canais canário e de desenvolvimento do Microsoft Edge para reproduzir problemas em seu site causados pelo agente de usuário padrão do Microsoft Edge.

Para desativar substituições de agente de usuário nos canais Microsoft Edge Beta ou Estável:

  1. Abra um prompt de comando. Por exemplo, insira cmd na caixa de texto de pesquisa do Windows e selecione o aplicativo Prompt de Comando .

  2. Copie o seguinte código:

    --disable-domain-action-user-agent-override
    
  3. Execute o aplicativo Microsoft Edge usando o código copiado da seguinte maneira:

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

Microsoft Edge Herdado

Considerações do navegador herdado:

  • O navegador Versão Prévia do Microsoft Edge não tem mais suporte. Confira a postagem no blog Novo Microsoft Edge para substituir Versão Prévia do Microsoft Edge.

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

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

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

    Um exemplo totalmente formado de uma cadeia de caracteres 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

Detectar Windows 11 usando dicas de cliente User-Agent