Détection de Microsoft Edge à partir de votre site web

Microsoft Edge permet à votre site web de récupérer les informations de l’agent utilisateur. Vous utilisez les informations de l’agent utilisateur pour présenter correctement les pages web pour le navigateur de chaque utilisateur. Les navigateurs fournissent des mécanismes permettant aux sites web de détecter des informations de navigateur telles que la marque, le numéro de version et le système d’exploitation hôte.

  • Les indicateurs du client de l’agent utilisateur sont le meilleur moyen de récupérer les informations du navigateur. Consultez Indicateurs de client de l’agent utilisateur ci-dessous.

  • Les chaînes de l’agent utilisateur sont un moyen hérité de récupérer des informations de navigateur. Ils sont obsolètes et ont un historique de causer des problèmes de compatibilité de site web. Consultez Chaînes de l’agent utilisateur ci-dessous.

Vous souhaiterez peut-être fournir différentes expériences aux utilisateurs en fonction de leur navigateur. Par exemple, si vous incluez des étapes sur la configuration de Microsoft Edge ou d’un autre navigateur pour une utilisation avec votre site, vous pouvez détecter le navigateur, puis afficher le contenu approprié.

Mécanismes de détection du navigateur :

Mécanisme Côté serveur Côté client
Indicateurs du client de l’agent utilisateur (recommandé) Sec-CH-UA En-tête HTTPS navigator.userAgentData Méthode JavaScript
Chaîne de l’agent utilisateur (héritée) User-Agent En-tête HTTPS navigator.userAgent Méthode JavaScript

Détection des fonctionnalités

Microsoft recommande de détecter si une fonctionnalité est prise en charge dans votre navigateur dans la mesure du possible, au lieu de détecter le navigateur.

Si vous devez détecter les navigateurs, Microsoft recommande d’utiliser User-Agent indicateurs de client, comme suit, avec la détection des fonctionnalités.

User-Agent indicateurs du client

Microsoft Edge prend en charge les indicateurs de client User-Agent.

User-Agent Indicateurs client est une méthode qui répond aux problèmes de confidentialité tout en permettant aux pages web de détecter des informations de navigateur telles que le nom du navigateur, le numéro de version, la plateforme, etc. Bientôt, la chaîne User-Agent sera figée et dépréciée par différents navigateurs. Par exemple, le site État de la plateforme Chrome décrit le changement dans Fonctionnalité : Réduire les informations de chaîne de l’agent utilisateur.

Utilisez User-Agent indicateurs client lorsque vous souhaitez :

  • Déterminez si la nouvelle activité du navigateur provient de l’utilisateur attendu.
  • Personnalisez des conseils ou des instructions si l’utilisateur est nouveau sur ce site.

N’utilisez pas User-Agent indicateurs client pour :

  • Bloquer les navigateurs non pris en charge .
  • Restreindre l’accès aux fonctionnalités de votre site.

Pour plus d’informations, consultez la spécification dans W3C Community Group Draft Report : User-Agent Client Hints.

User-Agent en-tête HTTPS Indicateurs du client

Lorsque Microsoft Edge envoie une requête HTTPS à un serveur, il envoie un ensemble d’en-têtes d’indicateurs de client à faible entropie User-Agent. Pour plus d’informations, consultez Table d’indicateurs d’entropie faible. Si le serveur nécessite des informations plus précises sur le navigateur, sa réponse inclut un Accept-CH en-tête. La valeur de cet en-tête de réponse est une liste séparée par des virgules de tous les en-têtes de requête Indicateurs client que le serveur souhaite à partir du navigateur, tels que Accept-CH: Sec-CH-UA-Full-Version,Sec-CH-UA-Platform-Version. La requête HTTPS Microsoft Edge suivante au serveur inclut les en-têtes d’indicateurs de client User-Agent spécifiés.

Par défaut, Microsoft Edge envoie les Sec-CH-UAen-têtes de demande , Sec-CH-UA-Mobileet Sec-CH-UA-Platform au format suivant.

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"

Le tableau suivant présente tous les en-têtes de demande d’indicateurs disponibles avec des exemples de valeurs.

en-tête de requête User-Agent Exemple User-Agent valeur de réponse
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 indicateurs client sont envoyés uniquement via des connexions sécurisées à l’aide de HTTPS.

API JavaScript des indicateurs du client User-Agent

Vous pouvez accéder à User-Agent indicateurs client à l’aide de JavaScript côté client. Lorsque vous appelez la valeur par défaut navigator.userAgentData, elle retourne la réponse suivante.

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

Pour envoyer une demande d’informations plus détaillées telles que platform, utilisez le code suivant :

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

La réponse a le format suivant :

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

Pour plus d’informations, consultez NavigatorUAData : méthode getHighEntropyValues() sur MDN.

platformVersion Hint

Le jeton de version du système d’exploitation dans l’en-tête User-Agent n’a pas été mis à jour pour Windows 11 et signale Windows NT 10.0toujours .

Pour faire la distinction entre Windows 10 et Windows 11, demandez l’indicateur client platformVersion dans Microsoft Edge. Les valeurs comprises entre et y compris 1.0.0 et 12.0.0 représentent les versions de Windows 10, tandis que les valeurs de 14.0.0 ou ultérieures représentent les versions de Windows 11.

Combiner User-Agent indicateurs de client avec la détection des fonctionnalités

La combinaison de User-Agent indicateurs client avec la détection des fonctionnalités est un moyen efficace de fournir du contenu web compatible. Microsoft recommande d’utiliser ce modèle pour :

  • Améliorez la maintenabilité du code.
  • Réduisez la fragilité du code.
  • Réduisez la casse du code des modifications apportées à la chaîne User-Agent.

Si vous devez case activée pour un navigateur de type Chrome, Microsoft recommande de détecter Chromium, qui est le moteur qui alimente Microsoft Edge.

Utilisez cette méthode pour vérifier la marque et appliquer la Chromium détection à tous les navigateurs Chromium affectés :

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

Utilisez la méthode ci-dessus pour éviter les vérifications de codage en dur pour les marques à des indices spécifiques. Les ordres d’affichage des noms de marque peuvent changer au fil du temps.

Si vous ne pouvez pas utiliser la détection des fonctionnalités, n’utilisez pas de liste codée en dur de navigateurs Chromium connus pour la vérification. Exemples de noms de navigateur codés en dur : Microsoft Edge et Google Chrome. La détection des fonctionnalités peut ne pas être disponible, car un correctif pour un bogue Chromium dans les versions ultérieures doit être évité et les navigateurs affectés sont difficiles à détecter.

chaînes User-Agent

User-Agent chaînes sont obsolètes et provoquent depuis longtemps des problèmes de compatibilité de site web.

Dans la mesure du possible, Microsoft recommande de réduire l’utilisation de la logique de détection du navigateur Microsoft Edge en fonction de la chaîne User-Agent. Si vous avez une bonne raison de détecter le navigateur, l’équipe Microsoft Edge recommande d’utiliser les indicateurs du client de l’agent utilisateur comme logique de détection principale. Les indicateurs du client de l’agent utilisateur réduisent également la complexité du code de détection du navigateur.

Pour référence héritée, les informations suivantes ont été incluses dans User-Agent chaîne.

Sur Windows, l’en-tête User-Agent de requête HTTP inclut :

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

Sur Android, l’en-tête de User-Agent requête HTTP inclut :

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

La valeur de réponse de navigator.userAgent la méthode utilise le format suivant :

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

Les identificateurs de plateforme changent en fonction du système d’exploitation et les numéros de version s’incrémentent au fil du temps. Le format est identique à celui de l’agent utilisateur Chromium avec l’ajout d’un nouveau Edg jeton à la fin. Microsoft a choisi le Edg jeton pour éviter les problèmes de compatibilité causés par Edge la chaîne, qui était précédemment utilisée pour le navigateur Microsoft Edge hérité basé sur EdgeHTML. Le Edg jeton est également cohérent avec les jetons existants utilisés pour iOS et Android.

Identificateurs de Microsoft Edge sur différentes plateformes

Sur les systèmes d’exploitation de bureau, Microsoft Edge est généralement identifié par le Edg jeton dans la chaîne User-Agent. Toutefois, un jeton différent pour Microsoft Edge est utilisé sur certaines plateformes d’appareils, comme suit :

Plateforme Jeton d’identificateur
Bureau (Windows/Mac/Linux) Edg
iPhone/iPad EdgiOS
Android (mobile/tablette) EdgA

Version antérieure de Microsoft Edge n’est plus pris en charge. Pour plus d’informations, consultez la section Version antérieure de Microsoft Edge.

Mapper la chaîne User-Agent à un nom de navigateur développé

Mappez les jetons de chaîne User-Agent aux noms de navigateur lisibles par l’utilisateur à utiliser dans le code. Cette pratique est courante sur le web. Lorsque vous mappez le Edg jeton à un nom de navigateur, Microsoft recommande d’utiliser un nom différent de celui utilisé pour le navigateur Microsoft EdgeHTML hérité, afin d’éviter d’appliquer accidentellement des solutions de contournement héritées qui ne s’appliquent pas aux navigateurs basés sur Chromium.

User-Agent remplacements

Parfois, un site web ne reconnaît pas l’agent utilisateur Microsoft Edge. Par conséquent, un ensemble des fonctionnalités du site web peut ne pas fonctionner correctement. Lorsque Microsoft est informé des types de problèmes, Microsoft vous contacte (un propriétaire de site web) et vous informe de l’agent utilisateur mis à jour.

Vous aurez peut-être besoin de plus de temps pour mettre à jour et tester la logique de détection de l’agent utilisateur pour votre site web afin de résoudre les problèmes signalés par Microsoft. Pour optimiser la compatibilité pour vos utilisateurs, les canaux Microsoft Edge Beta et Stable utilisent une liste de remplacements d’agent utilisateur. Utilisez les remplacements de l’agent utilisateur pendant que vous mettez à jour votre site web. La liste des remplacements d’agent utilisateur est fournie par Microsoft.

Les remplacements spécifient les nouvelles valeurs de l’agent utilisateur que Microsoft Edge envoie au lieu de l’agent utilisateur par défaut pour des sites web spécifiques. Pour afficher la liste des remplacements d’agent utilisateur actuellement appliqués :

  1. Ouvrez le canal Microsoft Edge Beta ou Stable.

  2. Accédez à edge://compat/useragent.

Actuellement, les canaux Canary et Dev de Microsoft Edge ne reçoivent pas de remplacements d’agent utilisateur. Les canaux Microsoft Edge Canary et Dev fournissent des environnements qui utilisent l’agent utilisateur Microsoft Edge par défaut. Utilisez les canaux Microsoft Edge Canary et Dev pour reproduire les problèmes sur votre site web provoqués par l’agent utilisateur Microsoft Edge par défaut.

Pour désactiver les remplacements de l’agent utilisateur dans les canaux Microsoft Edge Beta ou stable :

  1. Ouvrez une invite de commandes. Par exemple, entrez cmd dans la zone de texte Recherche Windows et sélectionnez l’application Invite de commandes .

  2. Copiez le code suivant :

    --disable-domain-action-user-agent-override
    
  3. Exécutez l’application Microsoft Edge à l’aide du code copié comme suit :

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

Microsoft Edge Legacy

Considérations relatives aux navigateurs hérités :

  • Le navigateur Version antérieure de Microsoft Edge n’est plus pris en charge. Consultez le billet de blog Nouveau Microsoft Edge à remplacer Version antérieure de Microsoft Edge.

  • Version antérieure de Microsoft Edge n’était disponible que sur Windows 10.

  • Parmi tous les mécanismes User-Agent décrits dans cet article, le seul mécanisme propre au navigateur pris en charge pour Version antérieure de Microsoft Edge est User-Agent chaîne.

  • La chaîne User-Agent pour Version antérieure de Microsoft Edge inclut le Edge jeton.

    Exemple complet d’une chaîne Version antérieure de 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

Voir aussi

Détecter Windows 11 à l’aide d’indicateurs de client User-Agent