Ich habe nach Code gesucht, mit dem ich feststellen kann, ob der Benutzer, der die Website besucht, über Firefox 3 oder 4 verfügt. Ich habe lediglich Code gefunden, um den Browsertyp zu erkennen, jedoch nicht die Version.
Wie kann ich die Version eines solchen Browsers erkennen?
Antworten:
Sie können sehen, was der Browser sagt , und diese Informationen zum Protokollieren oder Testen mehrerer Browser verwenden.
quelle
M[1] = tem[1]
eher sein alsM[2]
? Mit dem aktuellen Code gibt die Opera 12.14-BenutzeragentenzeichenfolgeOpera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14
das Ergebnis zurückOpera 9.80 12.14
. IMO, das richtige Ergebnis wäre das,Opera 12.14
was durch meinen Vorschlag erreicht würde.tem = ua.match(/\b(OPR|Edge)\/(\d+)/i); if (tem != null) return {name : tem[1] === 'OPR' ? 'Opera' : tem[1], version : tem[2]};
Mozilla/5.0 (Linux; Android 5.0; Nexus 9 Build/LRX21R; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.95 Safari/537.36 [FB_IAB/FB4A;FBAV/50.0.0.10.54;]
Benutzeragenten sieht ungefähr so aus: Dies ist leider ein sehr bekannter Benutzeragent, kann sie also nicht wirklich ignorieren ...Dies ist eine Verbesserung gegenüber Kennebecs Antwort.
Auf diese Weise können Sie sich vor der Dunkelheit des Codes schützen.
quelle
Dies kombiniert die Antwort von kennebec (K) mit der Antwort von Hermann Ingjaldsson (H):
quelle
Hier sind einige bekannte Bibliotheken, die sich ab Mai 2019 mit der Browsererkennung befassen.
Bowser von lancedikson - 3.761 ★ s - Zuletzt aktualisiert am 26. Mai 2019 - 4,8 KB
* unterstützt Edge basierend auf Chromium
Platform.js von bestiejs - 2.250 ★ s - Letzte Aktualisierung 30.10.2018 - 5,9 KB
jQuery Browser von gabceb - 504 ★ s - Letzte Aktualisierung 23. November 2015 - 1,3 KB
Detect.js (Archiviert) von darcyclarke - 522 ★ s - Letzte Aktualisierung 26. Oktober 2015 - 2,9 KB
Browsererkennung (archiviert) von QuirksMode - Letzte Aktualisierung 14. November 2013 - 884B
Bemerkenswerte Erwähnungen:
Weiterführende Literatur
quelle
Die Bowser- JavaScript-Bibliothek bietet diese Funktionalität.
Es scheint gut gepflegt zu sein.
quelle
Verwenden Sie dies: http://www.quirksmode.org/js/detect.html
quelle
Ich habe nach einer Lösung für mich gesucht, da jQuery 1.9.1 und höher die
$.browser
Funktionalität entfernt haben . Ich habe mir diese kleine Funktion ausgedacht, die für mich funktioniert. Es benötigt eine globale Variable (ich habe meinen _browser genannt), um zu überprüfen, um welchen Browser es sich handelt. Ich habe eine jsfiddle geschrieben, um zu veranschaulichen, wie sie verwendet werden kann. Natürlich kann sie für andere Browser erweitert werden, indem nur ein Test für _browser.foo hinzugefügt wird, wobei foo der Name des Browsers ist. Ich habe nur die populären gemacht.detectBrowser ()
Um zu überprüfen, ob der aktuelle Browser Opera ist, würden Sie dies tun
Bearbeiten Die Formatierung wurde korrigiert, die Erkennung für IE11 und Opera / Chrome wurde korrigiert und vom Ergebnis in browserResult geändert. Jetzt spielt die Reihenfolge der
_browser
Schlüssel keine Rolle mehr. Aktualisierter jsFiddle- Link.11.08.2015 Bearbeiten Neuer Testfall für Internet Explorer 12 (EDGE) hinzugefügt, ein kleines Regexp-Problem behoben. Aktualisierter jsFiddle- Link.
quelle
Dies gibt ein Array zurück, das erste Element ist der Browsername, das zweite Element ist die vollständige Versionsnummer im Zeichenfolgenformat.
quelle
jQuery kann damit ganz gut umgehen ( jQuery.browser )
BEARBEITEN: Wie Joshua in seinem Kommentar unten schrieb, wird die Eigenschaft jQuery.browser in jQuery seit Version 1.9 nicht mehr unterstützt (lesen Sie die Versionshinweise zu jQuery 1.9 für weitere Details). Das jQuery-Entwicklungsteam empfiehlt einen umfassenderen Ansatz wie die Anpassung der Benutzeroberfläche an die Modernizr- Bibliothek.
quelle
In reinem Javascript können Sie ein RegExp-Match durchführen
navigator.userAgent
, um die Firefox-Version zu finden:ffVersion
wird sein,undefined
wenn nicht ein Firefox-Browser.Siehe Arbeitsbeispiel →
quelle
Schauen Sie sich an
navigator.userAgent
-Firefox/xxx.xxx.xxx
wird direkt am Ende angegeben.quelle
quelle
Ich habe einen Versionsdetektor geschrieben, der auf der Antwort von Hermann Ingjaldsson basiert, aber robuster ist und ein Objekt mit Namen / Versionsdaten zurückgibt. Es deckt die wichtigsten Browser ab, aber ich kümmere mich nicht um die Fülle mobiler und kleinerer Browser:
Es kann dann folgendermaßen verwendet werden:
quelle
Sehen Sie die Demo hier .. http://jsfiddle.net/hw4jM/3/
quelle
Ich habe ein Skript in ASP-Code erstellt, um Browser, Browserversion, Betriebssystem und Betriebssystemversion zu erkennen. Der Grund für mich, dies in ASP zu tun, war, dass ich die Daten in einer Protokolldatenbank speichern möchte. Also musste ich den Browser-Server erkennen.
Hier ist der Code:
quelle
Diese Seite scheint ein hübsches Snippet zu haben, das nur die Eigenschaften appString und appVersion als letzten Ausweg verwendet, da behauptet wird, dass sie mit bestimmten Browsern unzuverlässig sind. Der Code auf der Seite lautet wie folgt:
quelle
Hinzufügen meiner eigenen Implementierung von Hermanns Antwort. Ich brauchte eine Betriebssystemerkennung, also wurde diese hinzugefügt. Enthält auch ES6-Code (da wir einen Transpiler haben), den Sie möglicherweise für ES5-ify benötigen.
Kehrt zurück:
Object {browser: "Chrome", version: "50", os: "UNIX"}
quelle
Ich möchte diesen Code teilen, den ich für das Problem geschrieben habe, das ich lösen musste. Es wurde in den meisten gängigen Browsern getestet und funktioniert für mich wie ein Zauber!
Es mag den Anschein haben, dass dieser Code den anderen Antworten sehr ähnlich ist, aber er wurde so geändert, dass ich ihn anstelle des Browserobjekts in jquery verwenden kann, was mir kürzlich entgangen ist. Natürlich ist es eine Kombination aus den obigen Codes, mit kleinen Verbesserungen von mein Teil habe ich gemacht:
quelle
quelle
Ich benutze dies, um den Namen und die Nummer (int) der Version des tatsächlichen Browsers zu erhalten:
Dies läuft in
Chrom ; Feuerfuchs ; Safari; Internet Explorer (> = 9); Oper; Kante
Für mich.
quelle
Hier ist dies besser kompatibel als das @ kennebec-Snippet.
gibt den Namen und die Version des Browsers zurück (gibt 72 anstelle von 72.0.3626.96 zurück).
Getestet auf Safari, Chrome, Opera, Firefox, IE, Edge, UCBrowser, auch auf Mobilgeräten.
quelle
quelle
Ich habe das für meine Bedürfnisse geschrieben.
Es werden Informationen angezeigt, z. B. ob es sich um ein mobiles Gerät handelt oder ob es ein Retina-Display hat
Versuch es
quelle
Für jede PWA-Anwendung, die Angular verwendet, können Sie den Code eingeben, um zu überprüfen, ob der Browser unterstützt wird, oder nicht im Hauptteil von index.html -
quelle
Hier ist die Java-Version für jemanden, der dies auf der Serverseite mit dem von zurückgegebenen String tun möchte
HttpServletRequest.getHeader("User-Agent");
Es funktioniert mit den 70 verschiedenen Browserkonfigurationen, die ich zum Testen verwendet habe.
quelle
quelle