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

Analyse der Prinzipien und Verwendung von Linux-Hardlinks und Softlinks

Im Linux-System gibt es einen Dateityp namens Lin...

Beispiele für dl-, dt- und dd-Listenbezeichnungen

Die Tags dd und dt werden für Listen verwendet. N...

MYSQL METADATA LOCK (MDL LOCK) MDL-Sperrproblemanalyse

1. Einleitung MDL-Sperren in MySQL haben schon im...

Empfohlene 20 besten kostenlosen englischen Handschrift-Schriftarten

Jellyka BeesAntike Handschrift [Ank]* Jellyka Cutt...

Informationen zur Installationsmethode für MySQL 8.0.13-ZIP-Pakete

MySQL 8.0.13 verfügt standardmäßig über einen Dat...

Beispiele für minimalistisches Website-Design

Webanwendungsklasse 1. DownFürAlleOderNurIch Mith...

Spezifische Methode zum Löschen des MySQL-Dienstes

MySQL meldet den folgenden Fehler Ich ging zu „Sy...

Eine kurze Analyse der Konfigurationselemente des Angular CLI-Releasepfads

Vorwort Bei der Projektfreigabe ist immer eine Ve...

So fügen Sie einer großen MySQL-Tabelle eine Spalte hinzu

Die Frage wird hier zitiert: https://www.zhihu.co...

Zusammenfassung der Tipps zur Verwendung von coalesce() in MySQL

Vorwort Kürzlich habe ich zufällig MySQLs Coalesc...

Sammlung einer Zusammenfassung der HTML-Iframe-Nutzung

Detaillierte Analyse der Iframe-Nutzung <iframe...