web-dev-qa-db-fra.com

Quel est le nom de la chaîne d'agent d'utilisateur pour Microsoft Edge?

Je crée un site Web et je veux qu’il soit compatible avec le prochain Microsoft Edge lorsqu’il sortira officiellement. Pour être plus précis, la version mobile de celui-ci. Est-ce que quelqu'un sait quelle chaîne identifiera le navigateur Edge Mobile (par exemple, "IE Mobile" identifie la version mobile d'Internet Explorer).

58
Zvonimir Matic

Chaîne Microsoft Edge UA:

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

Je détaille pourquoi dans cet article de blog.

Neowin a récemment annoncé que le nouveau navigateur de Microsoft pour Windows 10, Spartan, utilise la chaîne de caractères Chrome UA, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0 ″. Cela est fait exprès.

Vous remarquerez également que toute la chaîne se termine par “Edge/12.0 ″, ce qui Chrome ne le fait pas).

Je tiens à souligner que ce n’est pas un changement radical par rapport à ce que Microsoft a fait avec IE 11, qui sous Windows 8 se lit comme suit: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv: 11.0) comme Gecko, comme expliqué dans ce post.

Qu'est-ce que le reniflement d'agent d'utilisateur?

Souvent, les développeurs Web recherchent un UA pour la détection du navigateur. Mozilla l'explique bien sur son blog:

Servir différentes pages Web ou services à différents navigateurs est généralement une mauvaise idée. Le Web doit être accessible à tous, quel que soit le navigateur ou le périphérique utilisé. Il existe des moyens de développer votre site Web pour s’améliorer progressivement en fonction de la disponibilité des fonctionnalités plutôt que de cibler des navigateurs spécifiques.

Voici un excellent article expliquant l’histoire de l’agent d’utilisateur.

Souvent, les développeurs paresseux détectent simplement la chaîne d'agent utilisateur et désactivent le contenu de leur site Web en fonction du navigateur qu'ils pensent que le spectateur utilise. Internet Explorer 8 étant un point commun de frustration pour les développeurs, ceux-ci vérifient fréquemment si un utilisateur utilise N'IMPORTE QUELLE version d'IE, et désactivent des fonctionnalités.

L’équipe Edge détaille cela encore plus sur son blog.

Toutes les chaînes d’agent utilisateur contiennent plus d’informations sur les autres navigateurs que le navigateur que vous utilisez actuellement - pas seulement des jetons, mais également des numéros de version "significatifs".

Chaîne d'UA d'Internet Explorer 11:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; vr: 11.0) comme Gecko

Chaîne Microsoft Edge UA:

Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

La propriété userAgent a été décrite avec justesse comme "un paquet de mensonges toujours croissant" par Patrick H. Lauke dans les discussions sur le W3C. ("Ou plutôt, un problème d'équilibre consistant à ajouter suffisamment de mots clés classiques qui ne laisseront pas immédiatement tomber l'ancien code de détection d'UA, tout en essayant de transmettre un peu d'informations réellement utiles et précises.")

Nous recommandons aux développeurs Web d’éviter autant que possible de renoncer à l’UA; les fonctionnalités modernes de la plate-forme Web sont presque toutes détectables facilement. Par exemple, la bibliothèque Modernizr est un moyen simple et fantastique de détecter des entités.

Au cours de l’année écoulée, certains sites de détection d’UA ont été mis à jour pour détecter Microsoft Edge… uniquement dans le but de lui fournir un chemin de code IE11 hérité. Ce n’est pas la meilleure approche, car Microsoft Edge correspond aux comportements ‘WebKit’, et non aux comportements IE11 (toute différence entre Edge et WebKit est un bogue que nous souhaitons corriger).

Selon notre expérience, Microsoft Edge fonctionne mieux sur les chemins de code "WebKit" de ces sites. En outre, Internet devenant disponible sur une plus grande variété de périphériques, supposez que les navigateurs inconnus sont bons. Ne limitez pas votre site à un fonctionnement limité sur un petit nombre de navigateurs connus. Si vous faites cela, votre site va probablement casser à l'avenir.

Conclusion

En présentant la chaîne Chrome UA), nous pouvons contourner les hacks utilisés par ces développeurs afin de présenter la meilleure expérience utilisateur possible.

94
Dave Voyles - MSFT

Il existe un article MDN relatif à la détection de navigateur à l'aide de "User-Agent" et à ce que vous devriez avoir à l'esprit lorsque vous procédez de la sorte.

Indépendamment de cela, MSDN Library décrit les modifications de l'agent d'utilisateur pour "Edge".

Depuis le MSDN modifications de la chaîne d'agent utilisateur page:

Microsoft Edge pour Windows 10 Mobile Insider Preview contient la chaîne d'agent d'utilisateur suivante:

Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; INFORMATIONS SUR LE DISPOSITIF)) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12. <OS Build #>

12
andih

Pour ceux qui recherchent une regex pour détecter IE et Microsoft Edge, je me suis réutilisé l'un après l'autre SO réponse et j'ai ajouté Edge

/(?:\b(MS)?IE\s+|\bTrident\/7\.0;.*\s+rv:|\bEdge\/)(\d+)/

Je l'ai fait vérifier pour Edge et ensuite un chiffre divers au cas où ils décident d'itérer la version de Edge.

EDIT: Pour mettre à jour oui, les versions Edge et anciennes IE sont considérées comme des navigateurs très différents. Mon cas d'utilisation nécessitait de détecter IE navigateurs de marque à des fins de marketing (si l'utilisateur utilisait un navigateur Internet Explorer/Edge, nous voulions en montrer un élément), mais ce n'est peut-être pas forcément le cas pour vous.

8
aug

Actuellement, l'agent Web n'est pas le point clé pour adapter votre site, mais vous devez détecter les fonctionnalités du navigateur.

En outre, vous devez utiliser une bibliothèque telle que Modernizr pour vérifier les fonctionnalités spécifiques du navigateur, quel que soit le fournisseur ou la version du navigateur qui utilise l'utilisateur.

Remarque: malgré les avis négatifs, chacun devrait consulter le autre réponse à la présente question-réponse , qui explique en détail ce qui se cache derrière ma réponse résumée, ce qui prouve que de nombreux éditeurs de navigateurs le découragent. sniffing agent-utilisateur. C'est la raison derrière ma propre réponse, où je suggère à chacun d'adapter ses sites en fonction de fonctionnalités plutôt que d'un navigateur spécifique.

2

Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; INFORMATIONS SUR LE DISPOSITIF)) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/39.0.2171.71 Mobile Safari/537.36 Edge/12.0

2
Rami Sarieddine

Vous avez oublié le besoin de SA de connaître le type de navigateur pour le signaler à mgmt. Il faut que le navigateur utilisé soit clair, par souci de précision. Et sur une nouvelle construction, l'agent utilisateur Edge n'a pas de mot clé "Edge":

Mozilla/5.0 + (Windows + NT + 10.0; + Win64; + x64)

2
Mike Dever