Comment déterminer les capacités d'un navigateur ?
From Joomla! Documentation
Les navigateurs web diffèrent parfois dans la manière dont ils rendent une page. Pour cette raison, vous pouvez souhaiter savoir quel navigateur particulier un visiteur utilise afin d'utiliser des feuilles de style CSS spécifiques à ce navigateur.
Le JavaScript suivant définit un objet de détection de navigateur simple qui détermine le nom et la version du navigateur en décryptant la chaîne navigator.userAgent.
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;
}
}
}
Pour utiliser cela dans un script, vous créez une instance de cet objet :
var browser = new browserDetect();
La propriété browser.name vous donnera ensuite le nom du navigateur (MSIE, Opera, Netscape ou Firefox), browser.mainVersion affichera le numéro de version principal et browser.minorVersion contiendra le numéro de version mineure.
Ceci n'est pas infaillible. Il est bien mieux d'éviter d'écrire du code spécifique à un navigateur.