Les intégrateurs le savent bien, certains navigateurs ont parfois un comportement bizarre. Les problèmes les plus connus touchent généralement la mise en page, mais l’utilisation du javascript peut également poser certains problèmes.
La solution la plus rapide consistera à tester le navigateur du visiteur et d’agir en fonction. Pour ce faire, les trois principaux framework javascript disposent chacun de méthodes permettant de faire cette distinction assez facilement.
Pour distinguer IE des autres navigateurs, nous utiliserons donc le test suivant (Prototype) :
if (Prototype.Browser.IE) { // Internet Explorer } else { // Autres (Mozilla, Opera, etc.) }
Source : vinch.be
De même, avec Mootools :
if (Browser.Engine.trident){ // Internet Explorer }else { // Autres (Mozilla, Opera, etc.) }
Source : geoffray.be
Et pour terminer, avec jQuery :
if ($.browser.msie){ // Internet Explorer }else { // Autres (Mozilla, Opera, etc.) }
Source : jQuery
Les exemples listés ci-dessus ne permettent que de distinguer IE des autres navigateurs, mais il est bien évidemment possible de distinguer d’autres navigateurs et/ou de pousser les tests jusque dans les versions des logiciels.