Wie kann ich die Browserfähigkeiten ermitteln?
From Joomla! Documentation
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.