Detectando o Microsoft Edge do seu site

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

  • As dicas de cliente do agente do usuário são a melhor maneira de recuperar informações do navegador. Consulte Dicas de Cliente Agente de Usuário, abaixo.

  • As cadeias de caracteres User-Agent 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 de sites. Consulte Cadeias de caracteres de 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, convém detectar o navegador e mostrar o conteúdo apropriado.

Mecanismos para detecção do navegador:

Mecanismo Lado do servidor Lado do cliente
Dicas de Cliente 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 em seu navegador sempre que possível, em vez de detectar o navegador.

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

User-Agent Dicas de Cliente

O Microsoft Edge dá suporte a User-Agent Dicas de Cliente.

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

Empregue User-Agent Client Hints quando quiser:

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

Não use as Dicas de Cliente do User-Agent para:

  • Bloquear navegadores sem suporte .
  • Restrinja o acesso aos recursos do seu site.

Para obter mais informações, consulte a especificação em Relatório Preliminar do Grupo Comunitário do W3C: User-Agent Dicas de Cliente.

User-Agent Dicas de Cliente Cabeçalho HTTPS

Quando o Microsoft Edge envia uma solicitação HTTPS para um servidor, ele envia um conjunto de cabeçalhos de baixa entropia User-Agent Dicas de Cliente. Para obter mais informações, consulte Tabela de dicas de baixa entropia. Se o servidor exigir informações mais granulares sobre o navegador, sua resposta incluirá 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 de 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 Client Hints.

Por padrão, o Microsoft Edge envia os Sec-CH-UAcabeçalhos , Sec-CH-UA-Mobilee Sec-CH-UA-Platform de 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.

User-Agent cabeçalho da solicitação 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 Client Hints são enviadas apenas por conexões seguras usando HTTPS.

User-Agent Dicas de Cliente API JavaScript

Você pode acessar User-Agent dicas de 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 de 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 NavigatorUAData: método getHighEntropyValues() no MDN.

Dica de platformVersion

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

Para distinguir entre o Windows 10 e o 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 do Windows 10, enquanto valores de 14.0.0 ou posteriores representam versões do Windows 11.

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

Combinar User-Agent Dicas de Cliente com 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 capacidade de manutenção do código.
  • Reduza a fragilidade do código.
  • Reduzir a quebra de código de alterações na cadeia de caracteres User-Agent.

Se você precisar marcar se há 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 marca e aplicar a Chromium detecção a todos os navegadores afetados com base no Chromium:

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 código fixo para marcas em índices específicos. As ordens de exibição de nomes de marcas podem mudar com o tempo.

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

User-Agent cadeias de caracteres

User-Agent strings estão desatualizadas e têm um longo histórico de causar problemas de compatibilidade de sites.

Sempre que possível, a Microsoft recomenda minimizar o uso da lógica de detecção do navegador 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 o uso de dicas de cliente do agente do usuário como a principal lógica de detecção. As Dicas de Cliente do Agente do Usuário também reduzem 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 User-Agent solicitação 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 User-Agent solicitação 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 mudam com base no sistema operacional e os números de versão aumentam ao longo do tempo. O formato é o mesmo que o agente de usuário do Chromium 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 era usada anteriormente para o navegador herdado Microsoft Edge baseado em EdgeHTML. O Edg token também é consistente com os tokens existentes usados para iOS e Android.

Identificadores do Microsoft Edge em várias plataformas

Em sistemas operacionais de desktop, 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 identificador
Área de trabalho (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (celular/tablet) EdgA

A Versão Prévia do Microsoft Edge não é mais suportada. 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íveis por humanos a serem usados no código. Essa prática é comum em toda a web. Quando você mapeia o token para um nome de navegador, a Edg Microsoft recomenda usar um nome diferente daquele usado para o navegador Microsoft EdgeHTML herdado, para evitar a aplicação acidental de soluções alternativas herdadas que não se aplicam a navegadores baseados em Chromium.

User-Agent substitui

Às vezes, um site não reconhece o agente do 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 do usuário atualizado.

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

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

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

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

No momento, os canais Canary e Dev do Microsoft Edge não recebem substituições de agente do usuário. Os canais Canary e Dev do Microsoft Edge fornecem ambientes que usam o agente de usuário padrão do Microsoft Edge. Use os canais Canary e Dev 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 Beta ou Estável do Microsoft Edge Beta:

  1. Abra um prompt de comando. Por exemplo, insira cmd na caixa de texto de pesquisa do Windows e selecione o aplicativo de 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 sobre o navegador herdado:

  • Não há mais suporte para o navegador Versão Prévia do Microsoft Edge. Veja a postagem do blog Novo Microsoft Edge para substituir a Versão Prévia do Microsoft Edge.

  • A 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 string.

  • 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 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 e a arquitetura da CPU usando as Dicas de Cliente do User-Agent