Beim Umbau meiner Visitors Erweiterung für Contao 5 wollte ich die gleich noch ein wenig "modernisieren" und die Windows 11 Erkennung einbauen (User Agent).
Aber:
Microsoft hat sich mal wieder das "tolles" einfallen lassen. Unter Windows 11 melden die Browser im Useragent nach wie vor "Windows NT 10.0".
https://developers.whatismybrowser.c...-11-user-agent
Um an die richtige Version zu kommen, gibt es "Client Hints", die im Header versendet werden.
https://learn.microsoft.com/en-us/mi...o-detect-win11
Leider senden die Browser (z.Z nur Edge, Chrome und Opera) im Header die Plattform "Windows" aber nicht die Version. (Firefox diskutiert noch, ob die das einbauen oder nicht.)
Um die Version zu bekommen muss man serverseitig ein Header setzen, in dem man die Information anfordert. Ab dem zweiten Request vom Browser wird dann die Version mit geliefert.
Auch MS: Version 1-10 ist Windows 10, Version 13 oder höher ist dann Windows 11. Warum, das wissen nur die.
Nun läuft mein Visitors FE Modul als ESI Request, darin kann ich keine Header setzen.
Jetzt wird es darauf hinauslaufen, das ich über einen extramich einklinken muss, um den Header darüber zu setzen.Code:onKernelResponse Event
Das muss ich mir dann ansehen wie das geht, Code Beispiel habe ich, mal sehen ob ich das implementiert bekomme.
PS: es gibt auch über JavaScript eine Möglichkeit an die Verison zu kommen, die Info müsste man dann aber per XMLHttpRequest an den Tracker senden.
Dabei kam mir der Gedanke, wie macht das Matomo? Und siehe da, es gibt einen Device Detector, der die Client Hints auswerten kann. Jedoch habe ich keinen Hinweis gefunden, das die den Header setzen.
Ist ja auch nicht Aufgabe von Matomo.
Also kurz gesagt, wer den Matomo Tracker benutzt (Contao Erweiterung- Hintergrund-Tracking) wird in Matomo keinen Windows 11 Erkennung haben. (oder ich übersehe was)
(Achtung: es gibt Bots die mit "Windows NT 11.1" sich melden, das ist Fake!)
Daher habe ich fast überlegt, ob es nicht sinnvoller wäre eine extra Erweiterung zu machen die nur diesen Header setzt. (contao-clienthints-request-bundle)
Dann hätten alle Tracker die Möglichkeit Windows 11 zu erkennen.
Wird aber alles Zeit brauchen. Was meint Ihr dazu?
Lesezeichen