Wie kann ich die Browserfähigkeiten ermitteln?

From Joomla! Documentation

This page is a translated version of the page How to determine browser capabilities and the translation is 17% complete.
Outdated translations are marked like this.

Verschiedene Webbrowser zeigen manchmal Unterschiede in der Darstellung einer Seite. Aus diesem Grund muss manchmal ermittelt werden, welchen Browser ein Besucher benutzt, um browserspezifisches CSS zu verwenden.

Das folgende JavaScript definiert eine einfache Funktion zur Browser-Erkennung, die den Namen und die Version des Browsers bestimmt, indem sie den String navigator.userAgent dekodiert.

function browserDetect()
{
  var browserNames=new Array("Opera", "MSIE","Netscape","Firefox");
  this.name="NK";
  this.mainVersion="NK";
  this.minorVersion="NK";
  
  for (var i=0; i< browserNames.length; i++)
  {
   var pattern='('+browserNames[i]+')'+'.([0-9]+)\.([0-9]+)';    
   var myRegExp=new RegExp(pattern);
   if (myRegExp.test(navigator.userAgent))
    {
      var results=myRegExp.exec(navigator.userAgent);
      this.name=results[1];
      this.mainVersion=results[2];
      this.minorVersion=results[3];
      break;
    }
  }
}

Um dies in einem Skript zu verwenden, wird eine Instanz dieses Objekts erstellt:

var browser = new browserDetect();

Die Eigenschaft browser.name gibt dann den Namen des Browsers (MSIE, Opera, Netscape oder Firefox), browser.mainVersion die Hauptversionsnummer und browser.minorVersion die Minor-Versionsnummer an.

Es ist jedoch zu beachten, dass dies nicht narrensicher ist, und es ist im Allgemeinen besser (nach Meinung dieses Autors), das Schreiben von browserspezifischem Code so weit wie möglich zu vermeiden.