Comment déterminer les capacités d'un navigateur ?
From Joomla! Documentation
Il peut arriver que différents navigateurs web affichent de façon différente le rendu d'une page. De ce fait, vous pouvez souhaiter déterminer le navigateur utilisé par un visiteur afin de fournir des CSS spécifiques pour ce navigateur.
Le code JavaScript suivant définit une simple détection objet du navigateur qui détermine le nom du navigateur et la version en décodant la chaîne navigateur.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;
}
}
}
Afin de l'utiliser dans un script, il convient de créer une instance pour cet objet :
var browser = new browserDetect();
La propriété browser.name
vous fournira le nom du navigateur (MSIE, Opera, Netscape ou Firefox), browser.mainVersion
vous fournira le numéro de la version principale et browser.minorVersion
vous fournira le numéro de version mineure.
Cependant, vous devez être conscient que ce n'est pas infaillible et qu'il est généralement préférable (selon l'auteur), dans la mesure du possible, d'éviter d'écrire du code spécifique pour les navigateurs.