JavaScript navigator.userAgent erhält Browserinformationen – Fallerklärung

JavaScript navigator.userAgent erhält Browserinformationen – Fallerklärung

Der Browser ist für uns wahrscheinlich das vertrauteste Tool. Neben den bekannten Browsern Firefox, Opera, Safari, IE und Chrome soll es weltweit knapp hundert weitere Browser geben. Normalerweise muss bei der Entwicklung die Kompatibilität mit verschiedenen Browsern gewährleistet sein, daher ist es wichtig, die Entscheidung über Browsertyp und -system zu verfeinern.

Schauen wir uns zunächst an, was ein User-Agent ist. User-Agent ist die Benutzerkennung in der HTTP-Anforderung, die normalerweise eine Zeichenfolge sendet, die den Clienttyp darstellen kann, beispielsweise Browsertyp, Betriebssystem und andere Informationen. Das vereinbarte Format des User-Agents ist: Anwendungsname, gefolgt von einem Schrägstrich, gefolgt von der Versionsnummer, der Rest ist im freien Format.

Hier zeige ich nur einige Browser

Chrom

Safari für iPhone

IE

Als Nächstes kapseln wir die Funktion zum Abrufen des Browsing-Typs und -Systems und rufen sie dann bei Bedarf auf.

// Alle gängigen Browser funktionieren getBrowser() {
    var u = navigator.userAgent;
 
    var bws = [{
        Name: 'sgssapp',
        es: /sogousearch/i.test(u)
    }, {
        Name: "WeChat",
        es: /MicroMessenger/i.test(u)
    }, {
        Name: 'weibo',
        es: !!u.match(/Weibo/i)
    }, {
        Name: „uc“,
        es: !!u.match(/UCBrowser/i) || u.indexOf(' UBrowser') > -1
    }, {
        Name: 'sogou',
        es: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
    }, {
        Name: "Xiaomi",
        es: u.indexOf('MiuiBrowser') > -1
    }, {
        Name: "baidu",
        es: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
    }, {
        Name: '360',
        es: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
    }, {
        Name: '2345',
        es: u.indexOf('2345Explorer') > -1
    }, {
        Name: "Kante",
        es: u.indexOf('Edge') > -1
    }, {
        Name: 'ie11',
        es: u.indexOf('Dreizack') > -1 && u.indexOf('rv:11.0') > -1
    }, {
        Name: 'ie',
        es: u.indexOf('kompatibel') > -1 && u.indexOf('MSIE') > -1
    }, {
        Name: "Firefox",
        es: u.indexOf('Firefox') > -1
    }, {
        Name: "Safari",
        es: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
    }, {
        Name: "qqbrowser",
        es: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
    }, {
        Name: "qq",
        es: u.indexOf('QQ') > -1
    }, {
        Name: "Chrom",
        es: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
    }, {
        Name: 'Oper',
        es: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
    }];
 
    für (var i = 0; i < bws.length; i++) {
        wenn (bws[i].it) {
            gibt bws[i].name zurück;
        }
    }
 
    gib „anderes“ zurück;
}
 
// Systemdifferenzierungsfunktion getOS() {
    var u = navigator.userAgent;
    wenn (!!u.match(/kompatibel/i) || u.match(/Windows/i)) {
        gib „Windows“ zurück;
    } sonst wenn (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
        gib „macOS“ zurück;
    } sonst wenn (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
        gib „ios“ zurück;
    } sonst wenn (!!u.match(/android/i)) {
        gib „Android“ zurück;
    } anders {
        gib „anderes“ zurück;
    }
}

Dies ist das Ende dieses Artikels über die Fallstudie zum Abrufen von Browserinformationen durch JavaScript navigator.userAgent. Weitere relevante Inhalte zum Abrufen von Browserinformationen durch JavaScript navigator.userAgent finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass alle 123WORDPRESS.COM in Zukunft unterstützen werden!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der JavaScript-BOM-Zusammensetzung und häufiger Ereignisse
  • Detaillierte Erklärung von BOM und DOM in JavaScript
  • JavaScript-Verlaufsobjekt erklärt
  • Prinzipielle Analyse des Javascript-History-Objekts
  • Verwenden Sie den JS-Standort, um die Suchfeldverlaufsfunktion zu implementieren
  • JavaScript BOM-Standortobjekt + Navigatorobjekt + Verlaufsobjekt

<<:  Detaillierte Erklärung zur Sicherstellung der Konsistenz von MySQL-Ansichten (mit Prüfoption)

>>:  Lösung für die Protokollpersistenzlösung des Nginx-Ingress-Controllers

Artikel empfehlen

So optimieren Sie den Logikbeurteilungscode in JavaScript

Vorwort Zu den logischen Urteilsaussagen, die wir...

Beispieltest MySQL-Enumerationstyp

Bei der Entwicklung eines Projekts stößt man häuf...

Detailliertes Tutorial zur Installation von Nginx auf CentOS8 (Bild und Text)

Nginx, ausgesprochen „Engine x“, ist ein Open Sou...

JavaScript-Entwurfsmuster, Befehlsmuster

Das Befehlsmuster ist ein Verhaltensentwurfsmuste...

Der Unterschied zwischen br und br/ in HTML

Antwort von Stackflow: Einfaches <br> genügt...

Lernen Sie die Vue-Middleware-Pipeline in einem Artikel kennen

Beim Erstellen eines SPA müssen Sie häufig bestim...

So implementieren Sie Datenpersistenz mit dem Vuex-Drittanbieterpaket

Zweck: Ermöglichen Sie die gleichzeitige lokale S...

W3C Tutorial (10): W3C XQuery Aktivitäten

XQuery ist eine Sprache zum Extrahieren von Daten...

Konfigurationsmethode für das Nginx-Anforderungslimit

Nginx ist ein leistungsstarker, leistungsstarker ...

Welche Szenarien sind für JS-Pfeilfunktionen nicht geeignet?

Inhaltsverzeichnis Überblick Definieren von Metho...

6 Vererbungsmethoden von JS Advanced ES6

Inhaltsverzeichnis 1. Vererbung der Prototypkette...