Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann man mithilfe von JavaScript Browserversion und Betriebssystem zuverlässig erkennen?

Mary-Kate Olsen
Freigeben: 2024-11-17 19:03:03
Original
842 Leute haben es durchsucht

How to Reliably Detect Browser Version and Operating System Using JavaScript?

So erkennen Sie die Browserversion und das Betriebssystem mithilfe von JavaScript

Problem:

Bei der Verwendung Mit dem bereitgestellten Code funktioniert die Browsererkennung in Chrome und Mozilla, schlägt jedoch in IE6 fehl. Die Anforderung besteht darin, die Browserversion, z. B. „Firefox/12.0“, gezielt aus der Benutzeragentenzeichenfolge zu extrahieren.

Lösung:

Um die Browserversion effektiv zu erkennen und Betriebssystem mit JavaScript zu verwenden, ist ein umfassenderer Ansatz erforderlich. Hier ist ein Skript, das das Problem behebt:

var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName = navigator.appName;
var fullVersion = '' + parseFloat(navigator.appVersion);
var majorVersion = parseInt(navigator.appVersion, 10);
var nameOffset, verOffset, ix;

// Determine browser name and version based on user agent string
if ((verOffset = nAgt.indexOf("OPR")) != -1) {
  // Opera
  browserName = "Opera";
  fullVersion = nAgt.substring(verOffset + 4);
  if ((verOffset = nAgt.indexOf("Version")) != -1) {
    fullVersion = nAgt.substring(verOffset + 8);
  }
} else if ((verOffset = nAgt.indexOf("Edg")) != -1) {
  // Microsoft Edge
  browserName = "Microsoft Edge";
  fullVersion = nAgt.substring(verOffset + 4);
} else if ((verOffset = nAgt.indexOf("MSIE")) != -1) {
  // Microsoft Internet Explorer
  browserName = "Microsoft Internet Explorer";
  fullVersion = nAgt.substring(verOffset + 5);
} else if ((verOffset = nAgt.indexOf("Chrome")) != -1) {
  // Chrome
  browserName = "Chrome";
  fullVersion = nAgt.substring(verOffset + 7);
} else if ((verOffset = nAgt.indexOf("Safari")) != -1) {
  // Safari
  browserName = "Safari";
  fullVersion = nAgt.substring(verOffset + 7);
  if ((verOffset = nAgt.indexOf("Version")) != -1) {
    fullVersion = nAgt.substring(verOffset + 8);
  }
} else if ((verOffset = nAgt.indexOf("Firefox")) != -1) {
  // Firefox
  browserName = "Firefox";
  fullVersion = nAgt.substring(verOffset + 8);
} else if (
  (nameOffset = nAgt.lastIndexOf(" ") + 1) < (verOffset = nAgt.lastIndexOf("/"))
) {
  browserName = nAgt.substring(nameOffset, verOffset);
  fullVersion = nAgt.substring(verOffset + 1);
  if (browserName.toLowerCase() == browserName.toUpperCase()) {
    browserName = navigator.appName;
  }
}

// Trim fullVersion string to remove semicolon or space if present
if ((ix = fullVersion.indexOf(";")) != -1) {
  fullVersion = fullVersion.substring(0, ix);
}
if ((ix = fullVersion.indexOf(" ")) != -1) {
  fullVersion = fullVersion.substring(0, ix);
}

// Convert fullVersion to number and fall back to navigator.appVersion if conversion fails
majorVersion = parseInt("" + fullVersion, 10);
if (isNaN(majorVersion)) {
  fullVersion = "" + parseFloat(navigator.appVersion);
  majorVersion = parseInt(navigator.appVersion, 10);
}

// Display browser and version information
document.write(
  ""
    + 'Browser name  = '
    + browserName
    + "<br>"
    + 'Full version  = '
    + fullVersion
    + "<br>"
    + 'Major version = '
    + majorVersion
    + "<br>"
    + 'navigator.appName = '
    + navigator.appName
    + "<br>"
    + 'navigator.userAgent = '
    + navigator.userAgent
    + "<br>"
);
Nach dem Login kopieren

Dieses aktualisierte Skript bietet eine robustere Methode zur Erkennung der Browserversion und des Betriebssystems durch gründliche Analyse der Benutzeragentenzeichenfolge. Es verarbeitet verschiedene Browsertypen und -versionen, einschließlich Internet Explorer 6. Durch das Parsen der Benutzeragentenzeichenfolge extrahiert dieses Skript genau die gewünschte Browserversion, z. B. „Firefox/12.0“, und stellt gleichzeitig detaillierte Informationen über den Browser und das System bereit.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage