Wie kann ich die Browserfähigkeiten ermitteln?

From Joomla! Documentation

Revision as of 05:38, 19 May 2024 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.