Wir sollten keine Entscheidungen basierend auf Browser-User-Agent-Strings treffen. Aber, wissen Sie, kollektiv, tun wir das.
Karl Dubost stellt fest, dass sich hier eine bedeutende Änderung anbahnt, insbesondere dass die Versionszahl dreistellig wird
Laut dem Firefox Release Kalender wird Firefox Nightly im ersten Quartal 2022 (wahrscheinlich März) Version 100 erreichen. Dies wird die stabile Firefox-Release-Version um den Mai 2022 herum festlegen (falls sie sich bis dahin nicht ändert).
Und der Chrome Release Kalender setzt ein aktuelles Datum für den 29. März 2022.
Wir werden also UAs sehen wie
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:100.0) Gecko/20100101 Firefox/100.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 KHTML, like Gecko) Chrome/100.0.0.0 Safari/537.36
Ein schlechter RegEx wird sicherlich einige Leute erwischen. Aber selbst String-Vergleiche werden Leute erwischen, wie Karl feststellt
"80" < "99" // true
"80" < "100" // false
parseInt("80", 10) < parseInt("99", 10) // true
parseInt("80", 10) < parseInt("100", 10) // true
Vielleicht möchten Sie Ihren Code nach navigator.userAgent durchsuchen und sehen, was Sie tun.
In Chromium 96 und höher können Sie das Flag
chrome://flags/#force-major-version-to-100aktivieren, um Websites zu testen, während Sie einen User-Agent-String senden, der vorgibt, Version 100 zu sein.Websites, die das jQuery Reject Plugin verwenden, sind bekannt dafür, Probleme zu haben.