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

Vue implementiert ein Beispiel für eine verschachtelte Routing-Methode

1. Verschachteltes Routing wird auch als Sub-Rout...

JavaScript-Dom-Objektoperationen

Inhaltsverzeichnis 1. Kern 1. Holen Sie sich den ...

Beispiel für die Ausführung eines MySQL-Befehlszeilenskripts

Dieser Artikel veranschaulicht anhand eines Beisp...

Lösung für Win10 ohne Hyper-V

Suchen Sie immer noch nach einer Möglichkeit, Hyp...

Der Unterschied zwischen this.$router und this.$route in Vue und der push()-Methode

Im offiziellen Dokument heißt es: Durch Einfügen ...

Dinge, die Sie nicht über die CSS-Pseudoelemente ::before und ::after wissen

CSS hat zwei Pseudoklassen, die nicht häufig verw...

So optimieren Sie MySQL-Gruppen nach Anweisungen

Erstellen Sie in MySQL eine neue Tabelle mit drei...

So verwenden Sie Nginx zum Simulieren der Canary-Freigabe

Dieser Artikel stellt die Blue-Green-Bereitstellu...

Zwei Möglichkeiten zum Erstellen eines privaten GitLab mit Docker

Die erste Methode: Docker-Installation 1. Ziehen ...