Heim >Web-Frontend >js-Tutorial >Wie kann ich Browser und Version mithilfe von JavaScript zuverlässig erkennen?

Wie kann ich Browser und Version mithilfe von JavaScript zuverlässig erkennen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-04 17:00:15788Durchsuche

How Can I Reliably Detect Browser and Version Using JavaScript?

Browsererkennung in JavaScript Revisited

Die Bestimmung des genauen Browsers und der genauen Version mithilfe von JavaScript kann ein wertvolles Werkzeug für maßgeschneiderte Weberlebnisse sein. So können Sie dies erreichen:

Navigator-API:

Die Navigator-Eigenschaft in JavaScript bietet Zugriff auf Browserinformationen. Seine userAgent-Eigenschaft enthält eine Zeichenfolge, die den Browser und seine Version identifiziert.

Regex-Ausdrücke verwenden:

Um den Browsernamen und die Version aus der userAgent-Zeichenfolge zu extrahieren, können Sie Folgendes tun Verwenden Sie reguläre Ausdrücke. Der folgende Beispielcode verwendet einen umfassenden regulären Ausdruck, um die verschiedenen Browser und ihre Versionen zu erkennen:

navigator.saysWho = (() => {
  const { userAgent } = navigator;
  let match = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
  let temp;

  // Handle special cases
  if (/trident/i.test(match[1])) {
    temp = /\brv[ :]+(\d+)/g.exec(userAgent) || [];
    return `IE ${temp[1] || ''}`;
  }

  if (match[1] === 'Chrome') {
    temp = userAgent.match(/\b(OPR|Edge)\/(\d+)/);
    if (temp !== null) {
      return temp.slice(1).join(' ').replace('OPR', 'Opera');
    }

    temp = userAgent.match(/\b(Edg)\/(\d+)/);
    if (temp !== null) {
      return temp.slice(1).join(' ').replace('Edg', 'Edge (Chromium)');
    }
  }

  // Construct the browser information string
  match = match[2] ? [match[1], match[2]] : [navigator.appName, navigator.appVersion, '-?'];
  temp = userAgent.match(/version\/(\d+)/i);
  if (temp !== null) {
    match.splice(1, 1, temp[1]);
  }

  return match.join(' ');
})();

console.log(navigator.saysWho); // outputs: `Chrome 89`

Dieses Skript gleicht die Benutzeragentenzeichenfolge mit verschiedenen Browsermustern ab und gibt den extrahierten Browser und die Version als Zeichenfolge zurück.

Das obige ist der detaillierte Inhalt vonWie kann ich Browser und Version mithilfe von JavaScript zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn