Referenz zum Benutzeragentenstring von Firefox
Dieses Dokument beschreibt den Benutzeragentenstring, der in Firefox 4 und später sowie in Anwendungen, die auf Gecko 2.0 und später basieren, verwendet wird. Für eine Aufschlüsselung der Änderungen am String in Gecko 2.0 siehe Final User Agent string for Firefox 4 (Blogpost). Siehe auch das Dokument über Benutzeragentenerkennung und diesen Hacks-Blogpost.
Allgemeine Form
Der Benutzeragentenstring von Firefox selbst wird in vier Komponenten unterteilt:
Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version
-
Mozilla/5.0
ist das allgemeine Token, das anzeigt, dass der Browser mit Mozilla kompatibel ist und ist heute in fast jedem Browser enthalten. -
platform
beschreibt die native Plattform, auf der der Browser läuft (z. B. Windows, Mac, Linux oder Android) und ob es sich um ein Mobiltelefon handelt. Firefox-OS-Telefone gebenMobile
an; das Web ist die Plattform. Beachten Sie, dassplatform
aus mehreren durch;
getrennten Tokens bestehen kann. Weitere Details und Beispiele finden Sie weiter unten. -
rv:gecko-version
zeigt die Versionsnummer der Gecko-Version (zum Beispiel17.0
). -
Gecko/gecko-trail
gibt an, dass der Browser auf Gecko basiert. -
Auf dem Desktop ist
gecko-trail
der feste String20100101
. -
Firefox/firefox-version
gibt an, dass der Browser Firefox ist, und liefert die Version (z. B.17.0
). -
Ab Firefox 10 auf Mobilgeräten ist
gecko-trail
identisch mitfirefox-version
.
Hinweis:
Die empfohlene Methode, um auf Gecko-basierte Browser zu erkennen (wenn Sie müssen nach der Browser-Engine suchen, anstatt Feature-Detection zu verwenden), ist das Vorhandensein der Gecko
und rv:
Strings, da einige andere Browser ein like Gecko
Token enthalten.
Für andere Produkte, die auf Gecko basieren, kann der String eine von zwei Formen annehmen, wobei die Tokens die gleiche Bedeutung haben, außer den unten genannten:
Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail app-name/app-version
Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version app-name/app-version
app-name/app-version
gibt den Anwendungsnamen und die Version an. Zum Beispiel könnte diesCamino/2.1.1
oderSeaMonkey/2.7.1
sein.Firefox/firefox-version
ist ein optionales Kompatibilitätstoken, das einige Gecko-basierte Browser einfügen können, um maximale Kompatibilität mit Websites zu erreichen, die Firefox erwarten.firefox-version
stellt im Allgemeinen die gleichwertige Firefox-Version dar, die der angegebenen Gecko-Version entspricht. Einige Gecko-basierte Browser entscheiden sich möglicherweise nicht, dieses Token zu verwenden; aus diesem Grund sollten Erkennungsmechanismen auf Gecko achten — nicht auf Firefox!
Mobile und Tablet-Indikatoren
Der platform
-Teil des Benutzeragentenstrings zeigt an, ob Firefox auf einem Telefon- oder Tabletgerät läuft. Wenn Firefox auf einem Gerät mit Telefonfaktor läuft, gibt es ein Mobile;
Token im platform
-Teil des Benutzeragentenstrings. Wenn Firefox auf einem Tabletgerät läuft, gibt es stattdessen ein Tablet;
Token im platform
-Teil des Benutzeragentenstrings. Zum Beispiel:
Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0
Hinweis: Die Versionsnummern sind nicht relevant. Vermeiden Sie, Material darauf zu basieren.
Der bevorzugte Weg, um Inhalte auf ein Geräteformat zu richten, ist die Verwendung von CSS-Media-Queries. Wenn Sie jedoch Benutzeragentenerkennung verwenden, um Inhalte auf ein Geräteformat zu richten, suchen Sie bitte nach Mobi (um Opera Mobile einzuschließen, das "Mobi" verwendet) für den Telefonfaktor und nehmen Sie nicht an, dass es eine Korrelation zwischen "Android" und dem Gerätefaktor gibt. Auf diese Weise wird Ihr Code funktionieren, wenn/wenn Firefox auf anderen Telefon-/Tablet-Betriebssystemen ausgeliefert wird oder Android für Laptops verwendet wird. Verwenden Sie auch eine Berührungserkennung, um Touchgeräte zu finden, anstatt nach "Mobi" oder "Tablet" zu suchen, da es Touchgeräte geben kann, die keine Tablets sind.
Hinweis: Firefox-OS-Geräte identifizieren sich ohne Betriebssystemangabe; zum Beispiel: "Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0". Das Web ist die Plattform.
Windows
Windows-Benutzeragenten haben die folgenden Variationen, wobei x.y die Windows-NT-Version ist (z. B. Windows NT 6.1).
Windows-Version | Gecko-Benutzeragentenstring |
---|---|
Windows NT auf x86 CPU | Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
Windows NT auf x64 CPU | Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0 |
Hinweis: Eine aarch64-CPU wird als x86_64 unter Windows 11 und als x86 unter Windows 10 gemeldet (da x64-Emulation nicht unterstützt wird). Siehe Bugzilla #1763310.
macOS
Hierbei ist x.y die Version von macOS (zum Beispiel macOS 10.15). Beginnend mit Firefox 87 begrenzt Firefox die gemeldete macOS-Versionsnummer auf 10.15, sodass macOS 11.0 Big Sur und spätere als "10.15" im Benutzeragentenstring angezeigt werden. ARM-basierte Macs werden als "Intel" im Benutzeragentenstring angezeigt.
Mac OS X-Version | Gecko-Benutzeragentenstring |
---|---|
Mac OS X auf x86, x86_64 oder aarch64 | Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
Mac OS X auf PowerPC | Mozilla/5.0 (Macintosh; PPC Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0 |
Linux
Linux ist eine vielfältigere Plattform. Ihre Linux-Distribution könnte eine Erweiterung enthalten, die Ihren Benutzeragenten verändert. Einige gängige Beispiele sind unten aufgeführt.
Linux-Version | Gecko-Benutzeragentenstring |
---|---|
Linux-Desktop auf i686 CPU | Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 |
Linux-Desktop auf x86_64 CPU | Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 |
Hinweis:
In Firefox 127.0 und später wird 32-Bit-x86 nun als x86_64 im Benutzeragentenstring von Firefox sowie in navigator.platform
und navigator.oscpu
gemeldet (siehe Firefox 127.0 Release Notes).
Firefox für Android
Firefox für Android enthält die Android-Version als Teil des platform-Tokens. Für eine verbesserte Interoperabilität wird, wenn der Browser auf einer Version unter 4 läuft, 4.4 gemeldet. Android-Versionen 4 und höher melden die Version genau. Beachten Sie, dass das gleiche Gecko — mit den gleichen Fähigkeiten — für alle Android-Versionen ausgeliefert wird.
Formfaktor | Gecko-Benutzeragentenstring |
---|---|
Telefon | Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0 |
Tablet | Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0 |
Focus für Android
Seit Version 1 wird Focus von Android WebView betrieben und verwendet das folgende Benutzeragentenstring-Format:
Mozilla/5.0 (Linux; <Android Version> <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Version/4.0 Focus/<focus version> Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
Die Tablet-Versionen auf WebView spiegeln Mobile wider, enthalten jedoch kein Mobile
-Token.
Ab Version 6 können Nutzer sich entscheiden, ein GeckoView-basiertes Focus für Android mit einer versteckten Einstellung zu verwenden: Es verwendet einen GeckoView-Benutzeragentenstring, um Gecko-Kompatibilität zu bewerben.
Focus-Version (Rendering-Engine) | Benutzeragentenstring |
---|---|
1.0 (WebView Mobile) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Mobile Safari/537.36 |
1.0 (WebView Tablet) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Safari/537.36 |
6.0 (GeckoView) | Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0 |
Der Klar-Benutzeragent ist identisch mit Focus.
Firefox für iOS
Firefox für iOS verwendet den Standard-Mobile-Safari-Benutzeragentenstring mit einem zusätzlichen FxiOS/<version>-Token auf iPod und iPhone, ähnlich wie Chrome für iOS sich selbst identifiziert.
Formfaktor | Firefox für iOS Benutzeragentenstring |
---|---|
iPod | Mozilla/5.0 (iPod touch; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4 |
iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4 |
iPad | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15 |
Auf dem iPad erscheint der Benutzeragentenstring identisch mit Safari. Für verschiedene Probleme im Zusammenhang mit der Nichtaufnahme von FxiOS
auf iOS siehe mozilla-mobile/firefox-ios#6620.
Focus für iOS
Version 7 von Focus für iOS verwendet einen Benutzeragentenstring mit dem folgenden Format:
Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/7.0.4 Mobile/16B91 Safari/605.1.15
Hinweis: Dieser Benutzeragent wurde von einem iPhone-XR-Simulator abgerufen und kann auf Geräten anders sein.
Firefox für Fire TV
Version 3 (und wahrscheinlich frühere) von Firefox für Fire TV verwenden einen Benutzeragentenstring mit dem folgenden Format:
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefox-version> Chrome/<Chrome Rev> Safari/<WebKit Rev>
Firefox TV-Version | Benutzeragentenstring |
---|---|
v3.0 | Mozilla/5.0 (Linux; Android 7.1.2) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/3.0 Chrome/59.0.3017.125 Safari/537.36 |
Firefox für Echo Show
Seit Version 1.1 verwendet Firefox für Echo Show einen Benutzeragentenstring mit dem folgenden Format:
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefox-version> Chrome/<Chrome Rev> Safari/<WebKit Rev>
Firefox für Echo Show-Version | Benutzeragentenstring |
---|---|
v1.1 | Mozilla/5.0 (Linux; Android 5.1.1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.1 Chrome/59.0.3017.125 Safari/537.36 |
Firefox OS
Formfaktor | Gecko-Benutzeragentenstring |
---|---|
Telefon | Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0 |
Tablet | Mozilla/5.0 (Tablet; rv:26.0) Gecko/26.0 Firefox/26.0 |
TV | Mozilla/5.0 (TV; rv:44.0) Gecko/44.0 Firefox/44.0 |
Gerätespezifisch | Mozilla/5.0 (Mobile; nnnn; rv:26.0) Gecko/26.0 Firefox/26.0 |
Gerätespezifische Benutzeragentenstrings
Obwohl es von Mozilla dringend abgeraten wird, fügen einige Gerätehersteller leider ein Token in den Benutzeragentenstring ihres Geräts ein, das die Geräte-ID darstellt. In diesem Fall sieht der Firefox OS-Benutzeragentenstring wie der gerätespezifische String in der obigen Tabelle aus, wobei nnnn; der Herstellercode für das Gerät ist (siehe Richtlinien). Einige davon, die uns aufgefallen sind, haben die Form "NexusOne;", "ZTEOpen;" oder "Open C;" (beachten Sie, dass das Setzen von Leerzeichen ebenfalls nicht empfohlen wird). Wir stellen diese Informationen zur Unterstützung Ihrer Benutzeragentenerkennungslogik zur Verfügung, aber Mozilla rät von der Erkennung einer Geräte-ID in Benutzeragentenstrings ab.
Hier ist ein JavaScript-Regulärer Ausdruck, der alle Mobilgeräte erkennt, einschließlich Geräte mit einer Geräte-ID im Benutzeragentenstring:
/mobi/i;
Das i
macht es case-insensitive und mobi
erkennt alle mobilen Browser.
Firefox OS-Versionsnummer
Obwohl die Versionsnummer für Firefox OS nicht im Benutzeragentenstring enthalten ist, ist es möglich, Versionsinformationen aus der in dem Benutzeragentenstring enthaltenen Gecko-Versionsnummer zu schließen.
Firefox OS-Versionsnummer | Gecko-Versionsnummer |
---|---|
1.0.1 | 18.0 |
1.1 | 18.1 |
1.2 | 26.0 |
1.3 | 28.0 |
1.4 | 30.0 |
2.0 | 32.0 |
2.1 | 34.0 |
2.2 | 37 |
2.5 | 44 |
Hinweis:
Es ist einfach, die Übereinstimmungen zu finden, indem man sich die Mercurial-Repositorienamen ansieht: Repositorien, die mit mozilla-b2g
beginnen, sind die Release-Repositorien für Firefox OS und enthalten sowohl Firefox-OS- als auch Gecko-Versionen in ihren Namen.
Firefox OS hat eine vierstellige Versionsnummer: X.X.X.Y
. Die ersten beiden Ziffern gehören zum Mozilla-Produktionsteam und bezeichnen Versionen mit neuen Funktionen (z. B.: v1.1, 1.2 usw.). Die dritte Ziffer wird mit regelmäßigen Versionstags (ca. alle 6 Wochen) für Sicherheitsupdates erhöht, und die vierte gehört dem OEM.