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 rapporté que le nouveau navigateur de Microsoft pour Windows 10, Spartan, utilise la chaîne 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 se fait exprès.
Vous remarquerez également que la chaîne entière se termine par «Edge / 12.0», ce que Chrome ne fait pas.
Je dois souligner que ce n'est pas une dérogation 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 Publier.
Qu'est-ce que l'agent utilisateur reniflant?
Souvent, les développeurs Web renifleront UA pour la détection du navigateur. Mozilla l'explique bien sur leur blog:
Servir différentes pages Web ou services à différents navigateurs est généralement une mauvaise idée. Le Web est destiné à être accessible à tous, quel que soit le navigateur ou l'appareil qu'ils utilisent. 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 qu'en ciblant des navigateurs spécifiques.
Voici un excellent article expliquant l'historique de l'agent utilisateur.
Souvent, les développeurs paresseux reniflent simplement la chaîne UA et désactivent le contenu de leur site Web en fonction du navigateur qu'ils croient que le spectateur utilise. Internet Explorer 8 est un point de frustration courant pour les développeurs, ils vérifieront donc fréquemment si un utilisateur utilise N'IMPORTE QUELLE version d'IE et désactiveront les fonctionnalités.
L'équipe Edge le détaille encore plus sur son blog.
Toutes les chaînes d'agents utilisateurs contiennent plus d'informations sur les autres navigateurs que le navigateur réel que vous utilisez - pas seulement des jetons, mais aussi des numéros de version «significatifs».
Chaîne UA d'Internet Explorer 11:
Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 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 à juste titre comme «un paquet de mensonges toujours croissant» par Patrick H. Lauke dans les discussions du W3C. («Ou plutôt, un acte d'équilibrage consistant à ajouter suffisamment de mots-clés hérités qui ne laisseront pas immédiatement tomber l'ancien code UA-sniffing, 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 renifler UA; les fonctionnalités modernes de la plateforme Web sont presque toutes détectables de manière simple. Par exemple, la bibliothèque Modernizr est un moyen fantastique et simple de détecter des fonctionnalités.
Au cours de la dernière année, nous avons vu des sites reniflant UA qui ont été mis à jour pour détecter Microsoft Edge… uniquement pour lui fournir un chemin de code IE11 hérité. Ce n'est pas la meilleure approche, car Microsoft Edge correspond aux comportements 'WebKit', pas aux comportements IE11 (toutes les différences Edge-WebKit sont des bogues que nous souhaitons corriger).
D'après notre expérience, Microsoft Edge fonctionne mieux sur les chemins de code «WebKit» de ces sites. De plus, avec Internet devenant disponible sur une plus grande variété d'appareils, veuillez supposer que les navigateurs inconnus sont bons - veuillez ne pas limiter votre site à fonctionner uniquement sur un petit ensemble de navigateurs connus. Si vous faites cela, votre site se cassera certainement à l'avenir.
Conclusion
En présentant la chaîne Chrome UA, nous pouvons contourner les hacks que ces développeurs utilisent pour présenter la meilleure expérience aux utilisateurs.