Detección de Microsoft Edge desde su sitio web

Microsoft Edge permite que el sitio web recupere información del agente de usuario. Use la información del agente de usuario para presentar las páginas web correctamente para el explorador de cada usuario. Los exploradores proporcionan mecanismos para que los sitios web detecten información del explorador, como la marca, el número de versión y el sistema operativo host.

  • Las sugerencias de cliente del agente de usuario son la mejor manera de recuperar la información del explorador. Consulte Sugerencias de cliente del agente de usuario, a continuación.

  • Las cadenas de agente de usuario son una forma heredada de recuperar información del explorador. Están obsoletas y tienen un historial de causar problemas de compatibilidad del sitio web. Consulte Cadenas de User-Agent a continuación.

Es posible que desee proporcionar diferentes experiencias a los usuarios en función de su explorador. Por ejemplo, si incluye pasos sobre cómo configurar Microsoft Edge u otro explorador para su uso con el sitio, es posible que quiera detectar el explorador y, a continuación, mostrar el contenido adecuado.

Mecanismos para la detección de exploradores:

Mecanismo Lado servidor Lado cliente
Sugerencias de cliente del agente de usuario (recomendado) Sec-CH-UA Encabezado HTTPS navigator.userAgentData Método JavaScript
Cadena user-agent (heredada) User-Agent Encabezado HTTPS navigator.userAgent Método JavaScript

Detección de características

Microsoft recomienda detectar si se admite una característica en el explorador siempre que sea posible, en lugar de detectar el explorador.

Si debe detectar exploradores, Microsoft recomienda usar User-Agent sugerencias de cliente, como se indica a continuación, junto con la detección de características.

sugerencias de cliente de User-Agent

Microsoft Edge admite sugerencias de cliente User-Agent.

User-Agent Sugerencias de cliente es un método que aborda los problemas de privacidad, al tiempo que permite que las páginas web detecten información del explorador, como el nombre del explorador, el número de versión, la plataforma, etc. Pronto, varios exploradores inmovilizarán y desusarán la cadena de User-Agent. Por ejemplo, el sitio de estado de la plataforma Chrome describe el cambio en Característica: Reducir la información de cadena del Agente de usuario.

Use User-Agent sugerencias de cliente cuando desee:

  • Determine si la nueva actividad del explorador procede del usuario esperado.
  • Personalice sugerencias o instrucciones si el usuario no está familiarizado con este sitio.

No use User-Agent sugerencias de cliente para:

  • Bloquear exploradores no admitidos .
  • Restrinja el acceso a las características del sitio.

Para obtener más información, consulte la especificación en W3C Community Group Draft Report: User-Agent Client Hints (Informe de borrador de grupo de la comunidad W3C: sugerencias de cliente de User-Agent).

encabezado HTTPS de sugerencias de cliente de User-Agent

Cuando Microsoft Edge envía una solicitud HTTPS a un servidor, envía un conjunto de encabezados de sugerencias de cliente User-Agent baja entropía. Para obtener más información, vea Tabla de sugerencias de baja entropía. Si el servidor requiere información más detallada sobre el explorador, su respuesta incluye un Accept-CH encabezado. El valor de ese encabezado de respuesta es una lista separada por comas de todos los encabezados de solicitud de sugerencias de cliente que el servidor desea del explorador, como Accept-CH: Sec-CH-UA-Full-Version,Sec-CH-UA-Platform-Version. La siguiente solicitud HTTPS de Microsoft Edge al servidor incluirá los encabezados de sugerencias de cliente User-Agent especificados.

De forma predeterminada, Microsoft Edge envía los Sec-CH-UAencabezados de solicitud , Sec-CH-UA-Mobiley Sec-CH-UA-Platform en el formato siguiente.

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"

En la tabla siguiente se muestran todos los encabezados de solicitud de sugerencias disponibles con valores de ejemplo.

User-Agent encabezado de solicitud Ejemplo User-Agent valor de respuesta
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 sugerencias de cliente solo se envían a través de conexiones seguras mediante HTTPS.

API de JavaScript de sugerencias de cliente de User-Agent

Puede acceder a User-Agent sugerencias de cliente mediante JavaScript en el lado cliente. Cuando se llama al valor predeterminado navigator.userAgentData, devuelve la siguiente respuesta.

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

Para enviar una solicitud de información más detallada como platform, use el código siguiente:

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

La respuesta tiene el siguiente 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 obtener más información, vea NavigatorUAData: método getHighEntropyValues() en MDN.

platformVersion Hint

El token de versión del sistema operativo del User-Agent encabezado no se ha actualizado para Windows 11 y sigue notificando Windows NT 10.0.

Para distinguir entre Windows 10 y Windows 11, solicite la sugerencia de platformVersion cliente en Microsoft Edge. Los valores entre e incluyendo 1.0.0 y 12.0.0 representan versiones de Windows 10, mientras que los valores de 14.0.0 o posterior representan versiones de Windows 11.

Combinar User-Agent sugerencias de cliente con la detección de características

La combinación de User-Agent sugerencias de cliente con la detección de características es una manera eficaz de ofrecer contenido web compatible. Microsoft recomienda usar este patrón para:

  • Mejorar la capacidad de mantenimiento del código.
  • Reduzca la fragilidad del código.
  • Reduzca la interrupción del código de los cambios en la cadena de User-Agent.

Si necesita comprobar si hay un explorador similar a Chrome, Microsoft recomienda detectar Chromium, que es el motor que impulsa Microsoft Edge.

Use este método para comprobar la marca y aplicar la Chromium detección a todos los exploradores afectados basados en Chromium:

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

Use el método anterior para evitar comprobaciones de codificación rígida de marcas en índices específicos. Los pedidos de presentación de nombres de marca pueden cambiar con el tiempo.

Si no puede usar la detección de características, no use una lista codificada de forma rígida de exploradores conocidos basados en Chromium para la comprobación. Algunos ejemplos de nombres de explorador codificados de forma rígida son Microsoft Edge y Google Chrome. Es posible que la detección de características no esté disponible, ya que se debe evitar una corrección de un error de Chromium en versiones posteriores y los exploradores afectados son difíciles de detectar.

cadenas de User-Agent

User-Agent cadenas no están actualizadas y tienen un largo historial de causas de problemas de compatibilidad del sitio web.

Siempre que sea posible, Microsoft recomienda minimizar el uso de la lógica de detección del explorador Microsoft Edge en función de la cadena de User-Agent. Si tiene una buena razón para detectar el explorador, el equipo de Microsoft Edge recomienda usar sugerencias de cliente user-agent como lógica de detección principal. Las sugerencias de cliente del agente de usuario también reducen la complejidad del código de detección del explorador.

Para la referencia heredada, la siguiente información se incluyó en User-Agent cadena.

En Windows, el encabezado de User-Agent solicitud HTTP incluye:

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

En Android, el encabezado de User-Agent solicitud HTTP incluye:

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

El valor de respuesta del navigator.userAgent método usa el formato siguiente:

"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"

Los identificadores de plataforma cambian en función del sistema operativo y los números de versión se incrementan con el tiempo. El formato es el mismo que el Chromium agente de usuario con la adición de un nuevo Edg token al final. Microsoft eligió el Edg token para evitar problemas de compatibilidad causados por Edge la cadena, que se usó anteriormente para el explorador Microsoft Edge heredado basado en EdgeHTML. El Edg token también es coherente con los tokens existentes que se usan para iOS y Android.

Identificadores de Microsoft Edge en varias plataformas

En los sistemas operativos de escritorio, Microsoft Edge se identifica normalmente mediante el Edg token de la cadena de User-Agent. Sin embargo, se usa un token diferente para Microsoft Edge en algunas plataformas de dispositivos, como se indica a continuación:

Plataforma Token de identificador
Escritorio (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (móvil/tableta) EdgA

Microsoft Edge (versión anterior) ya no se admite. Consulte la sección Microsoft Edge (versión anterior) para obtener más información.

Asignar la cadena de User-Agent a un nombre de explorador expandido

Asigne los tokens de cadena de User-Agent a nombres de explorador legibles para usarlos en el código. Esta práctica es común en toda la web. Al asignar el Edg token a un nombre de explorador, Microsoft recomienda usar un nombre diferente al que se usa para el explorador Microsoft EdgeHTML heredado, para evitar aplicar accidentalmente soluciones alternativas heredadas que no se aplican a exploradores basados en Chromium.

invalidaciones de User-Agent

A veces, un sitio web no reconoce el agente de usuario de Microsoft Edge. Como resultado, es posible que un conjunto de características del sitio web no funcione correctamente. Cuando se notifica a Microsoft sobre los tipos de problemas, Microsoft se pone en contacto con usted (propietario de un sitio web) y le informa sobre el agente de usuario actualizado.

Es posible que necesite más tiempo para actualizar y probar la lógica de detección del agente de usuario para su sitio web con el fin de solucionar los problemas notificados por Microsoft. Para maximizar la compatibilidad de los usuarios, los canales Microsoft Edge Beta y Estable usan una lista de invalidaciones del agente de usuario. Use las invalidaciones del agente de usuario mientras actualiza el sitio web. Microsoft proporciona la lista de invalidaciones de agente de usuario.

Las invalidaciones especifican nuevos valores de agente de usuario que Microsoft Edge envía en lugar del agente de usuario predeterminado para sitios web específicos. Para mostrar la lista de invalidaciones del agente de usuario que se aplican actualmente:

  1. Abra el canal Microsoft Edge Beta o Estable.

  2. Ve a edge://compat/useragent.

Los canales Dev y Canary de Microsoft Edge no reciben actualmente invalidaciones del agente de usuario. Los canales Microsoft Edge Canary y Dev proporcionan entornos que usan el agente de usuario predeterminado de Microsoft Edge. Use los canales Microsoft Edge Canary y Dev para reproducir problemas en el sitio web causados por el agente de usuario de Microsoft Edge predeterminado.

Para desactivar las invalidaciones del agente de usuario en los canales Microsoft Edge Beta o Estable:

  1. Abra un símbolo del sistema. Por ejemplo, escriba cmd en el cuadro de texto Búsqueda de Windows y seleccione la aplicación Símbolo del sistema .

  2. Copie el código siguiente:

    --disable-domain-action-user-agent-override
    
  3. Ejecute la aplicación Microsoft Edge con el código copiado de la siguiente manera:

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

Microsoft Edge (versión anterior)

Consideraciones del explorador heredado:

  • Ya no se admite el explorador Microsoft Edge (versión anterior). Consulte la entrada de blog Nuevo Microsoft Edge para reemplazar Microsoft Edge (versión anterior).

  • Microsoft Edge (versión anterior) solo estaba disponible en Windows 10.

  • De todos los mecanismos de User-Agent descritos en este artículo, el único mecanismo compatible específico del explorador para Microsoft Edge (versión anterior) es User-Agent cadena.

  • La cadena de User-Agent para Microsoft Edge (versión anterior) incluye el Edge token.

    Ejemplo completo de una cadena de Microsoft Edge (versión anterior) 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

Consulte también

Detección de Windows 11 mediante sugerencias de cliente de User-Agent