Gerade habe ich etwas getestet, was ich schon länger mal nachsehen wollte: Meldet sich der Internet Explorer 10 (IE10) unter Windows 8 unterschiedlich bei einem Webserver, wenn man ihn in der Metro-Fassung oder in der Desktop-Fassung nutzt? Ergebnis: Ja, anscheinend tut er das – aber anders als erwartet.
Um die Browser-Kennung auszulesen, den so genannten “User Agent String”, haben wir auf faq-o-matic.net seit einiger Zeit eine eigene Infoseite. Ihr erreicht sie unter http://www.faq-o-matic.net/werbinich/
Der Desktop-IE10 meldet sich laut dieser Funktion mit folgendem String:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)
Die Browser-Kennung des Internet Explorer 10 unter Windows 8 in der Desktop-Variante
Die Metro-Fassung des IE10 auf demselben Rechner gibt hingegen Folgendes zurück:
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)
Die Browser-Kennung des Internet Explorer 10 unter Windows 8 in der Metro-Variante
Erstaunlicherweise unterscheidet sich in beiden Fassungen also nur die Angabe zum Betriebssystem: Auf dem Desktop “WOW64”, unter Metro “Win64; x64”. Das ist in einer gewissen Logik durchaus konsequent, denn zumindest in der offiziellen Darstellung von Microsoft handelt es sich bei der Metro-Oberfläche ja nicht um die klassische Windows-Laufzeitumgebung (hier WOW64, weil es ein x64-Windows ist) – “Win64” ist dann aber doch etwas unspezifisch, und die Ergänzung “x64” ist dann eigentlich Nonsens.
Dabei ist durch diesen kurzen Test nicht gesagt, dass dies auf allen Systemen so ist. Insbesondere wäre interessant, wie die Strings auf 32-Bit-Systemen und in Windows RT aussehen.
Update 1. 11. 2012: Ich kann jetzt auch den User Agent String des IE10 im Microsoft Surface RT kundtun:
- Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)
Update 26. 10. 2012: Wie mir @Muvon53 gerade mitteilt, gibt es einen MSDN-Artikel, der den User Agent String des IE erläutert. Demnach gibt es doch keine Möglichkeit, den Metro-IE vom Desktop-IE zu unterscheiden – der von mir registrierte Unterschied liegt nur an der 32-Bit-Fassung des IE, der im Desktop offenbar der Standard ist. Das ist etwas ärgerlich, denn der Metro-IE unterscheidet sich funktional recht deutlich von seinem großen Bruder. Ein Hinweis im User Agent String hätte es erleichtert, dies ohne aufwändige Feature-Abfrage zu erkennen.
[Understanding User-Agent Strings (Internet Explorer)]
http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspxEin zweiter Artikel zeigt die Komponenten des Strings für Windows RT und für Touch-Geräte:
[User-agent string]
http://msdn.microsoft.com/en-us/library/ie/hh920767(v=vs.85).aspx
http://faq-o-matic.net/?p=4555