Firefox-User-Agent-String-Referenz
Dieses Dokument beschreibt den User-Agent-String, der in Firefox 4 und späteren Versionen sowie in Anwendungen, die auf Gecko 2.0 und später basieren, verwendet wird. Eine Aufschlüsselung der Änderungen im String in Gecko 2.0 finden Sie im Final User Agent string for Firefox 4 (Blog-Post). Siehe auch dieses Dokument über User-Agent-Erkennung und diesen Hacks-Blogpost.
Allgemeines Format
Der UA-String von Firefox selbst ist 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 besagt, dass der Browser mit Mozilla kompatibel ist, und ist heute bei fast jedem Browser üblich. -
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 unten. -
rv:gecko-version
gibt die Release-Version von Gecko an (wie z.B.17.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 bietet die Version (wie z.B.17.0
). -
Ab Firefox 10 auf Mobilgeräten ist
gecko-trail
identisch mit derfirefox-version
.
Hinweis:
Die empfohlene Methode zum Erkennen von auf Gecko basierenden Browsern (wenn Sie müssen den Browser-Engine erkennen, anstatt Feature-Erkennung zu verwenden) ist durch das Vorhandensein der Strings Gecko
und rv:
, 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 denen, die unten angegeben sind:
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 auf Gecko basierende Browser möglicherweise einfügen, um maximale Kompatibilität mit Websites zu erreichen, die Firefox erwarten.firefox-version
wird im Allgemeinen das entsprechende Firefox-Release darstellen, das zur angegebenen Gecko-Version gehört. Einige auf Gecko basierende Browser entscheiden sich möglicherweise dagegen, dieses Token zu verwenden; aus diesem Grund sollten Erkennungsskripte nach Gecko suchen — nicht nach Firefox!
Mobil- und Tablet-Indikatoren
Der platform
-Teil des UA-Strings zeigt an, ob Firefox auf einem telefon- oder tabletgroßen Gerät ausgeführt wird. Wenn Firefox auf einem Gerät mit Telefonformfaktor läuft, befindet sich ein Mobile;
-Token im platform
-Teil des UA-Strings. Wenn Firefox auf einem Tablet-Gerät läuft, befindet sich stattdessen ein Tablet;
-Token im platform
-Teil des UA-Strings. 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 basierend auf diesen abzuleiten.
Die bevorzugte Methode, um Inhalte für einen Geräteformfaktor anzupassen, ist die Verwendung von CSS-Media-Queries. Wenn Sie jedoch UA-Erkennung verwenden, um Inhalte an einen Geräteformfaktor anzupassen, suchen Sie nach Mobi (um Opera Mobile einzuschließen, das "Mobi" verwendet) für den Telefonformfaktor und gehen Sie nicht davon aus, dass es eine Korrelation zwischen "Android" und dem Geräteformfaktor gibt. Auf diese Weise wird Ihr Code funktionieren, wenn/wenn Firefox auf anderen Telefon-/Tablet-Betriebssystemen läuft oder Android für Laptops verwendet wird. Außerdem verwenden Sie bitte Berührungsdetektion, um Touch-Geräte zu finden, anstatt nach "Mobi" oder "Tablet" zu suchen, da es möglicherweise Touch-Geräte gibt, die keine Tablets sind.
Hinweis: Firefox OS-Geräte identifizieren sich ohne Betriebssystemangabe; beispielsweise: "Mozilla/5.0 (Mobile; rv:15.0) Gecko/15.0 Firefox/15.0". Das Web ist die Plattform.
Windows
Windows-User-Agents haben die folgenden Varianten, wobei x.y die Windows NT-Version ist (z.B. Windows NT 6.1).
Windows-Version | Gecko-User-Agent-String |
---|---|
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 auf Windows 11 und als x86 auf Windows 10 gemeldet (da sie keine x64-Emulation unterstützt). Siehe Bugzilla #1763310.
macOS
Hier ist x.y die Version von macOS (z.B. macOS 10.15). Ab Firefox 87 begrenzt Firefox die gemeldete macOS-Versionsnummer auf 10.15, sodass macOS 11.0 Big Sur und später als "10.15" im User-Agent-String gemeldet werden. ARM-basierte Macs werden als "Intel" im User-Agent-String gemeldet.
Mac OS X-Version | Gecko-User-Agent-String |
---|---|
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 User-Agent ändert. Einige häufige Beispiele sind unten aufgeführt.
Linux-Version | Gecko-User-Agent-String |
---|---|
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 User-Agent-String von Firefox, 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 bessere Interoperabilität, wenn der Browser auf einer Version unter 4 läuft, wird Version 4.4 gemeldet. Android-Versionen 4 und höher berichten die Version genau. Beachten Sie, dass das gleiche Gecko — mit denselben Fähigkeiten — auf allen Android-Versionen ausgeliefert wird.
Formfaktor | Gecko-User-Agent-String |
---|---|
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
Ab Version 1 wird Focus von Android WebView betrieben und verwendet das folgende User-Agent-String-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>
Tablet-Versionen auf WebView spiegeln Mobilgeräte wider, enthalten jedoch kein Mobile
-Token.
Ab Version 6 können Benutzer in eine auf GeckoView basierende Focus-Version für Android wechseln, die mit einer versteckten Einstellung aktiviert werden kann: Sie verwendet einen GeckoView-UA-String, um Gecko-Kompatibilität zu bewerben.
Focus-Version (Rendering Engine) | User-Agent-String |
---|---|
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-User-Agent ist der gleiche wie Focus.
Firefox für iOS
Firefox für iOS verwendet den standardmäßigen Mobile Safari-UA-String, 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 User-Agent-String |
---|---|
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 User-Agent-String identisch wie 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 User-Agent-String 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 User-Agent wurde von einem iPhone XR-Simulator abgerufen und kann auf dem Gerät unterschiedlich sein.
Firefox für Fire TV
Version 3 (und wahrscheinlich frühere) von Firefox für Fire TV verwenden einen User-Agent-String mit folgendem 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 | User-Agent- String |
---|---|
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
Ab Version 1.1 verwendet Firefox für Echo Show einen User-Agent-String mit folgendem 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 | User-Agent-String |
---|---|
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-User-Agent-String |
---|---|
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 User-Agent-Strings
Obwohl es von Mozilla stark abgeraten wird, fügen einige Gerätehersteller leider ein Token in den UA-String ihres Geräts ein, das deren Geräte-ID repräsentiert. In diesem Fall sieht der Firefox-OS-UA-String wie der gerätespezifische String in der obigen Tabelle aus, wobei nnnn; der Herstellercode für das Gerät ist (siehe Richtlinien). Einige der beobachteten Formen sind "NexusOne;", "ZTEOpen;" oder "Open C;" (beachten Sie, dass auch das Einfügen von Leerzeichen nicht empfohlen wird). Wir stellen diese Informationen zur Verfügung, um Ihre UA-Erkennung zu unterstützen, aber Mozilla rät davon ab, die Erkennung einer Geräte-ID in UA-Strings zu verwenden.
Hier ist ein JavaScript-Regulärer-Ausdruck, der alle mobilen Geräte erkennt, einschließlich Geräte mit einer Geräte-ID in ihrem UA-String:
/mobi/i;
Das i
macht ihn case-insensitive, und mobi
passt auf alle mobilen Browser.
Firefox OS-Versionsnummer
Während die Versionsnummer für Firefox OS nicht im UA-String enthalten ist, ist es möglich, Versionsinformationen aus der im UA-String enthaltenen Gecko-Versionsnummer abzuleiten.
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 Entsprechungen zu finden, indem man sich die Mercurial-Repository-Namen anschaut: Repositories, die mit mozilla-b2g
beginnen, sind die Release-Repositories für Firefox OS und haben sowohl Firefox OS- als auch Gecko-Versionen in ihren Namen.
Firefox OS hat eine vierstellige Versionsnummer: X.X.X.Y
. Die ersten zwei Ziffern werden vom Mozilla-Produktionsteam verwaltet und kennzeichnen Versionen mit neuen Features (z.B. v1.1, 1.2 usw.). Die dritte Ziffer wird regelmäßig mit Versionstags (etwa alle 6 Wochen) für Sicherheitsupdates erhöht, und die vierte gehört dem OEM.