Plusieurs probleme avec ton aproche.
En 2005 on n'utilise plus de "detection de browser" qui est une technique issue de la premiere "browser war". Elle n'as que des inconvenients (certains browsers permettent de changer l'userAgent).
En 2005 on utilise la "detection d'objet". En bref, cela consiste a "detecter" si la fonction que l'on veut utiliser est disponible ou pas.
Attention, quand je parle de "detection d'objet", je ne parle pas de detecter "document.all" ou autres trucs.
Je parle plutot d'une detection de fonction en fait.
Genre :
Code :
- var div;
- if (!!document.getElementById) {
- div = document.getElementById(iddudiv);
- } else {
- // autre methode pour obtenir le div
- }
|
Ensuite, tu essaye de detecter le JS avec du JS ... Or si ce dernier n'est pas active (ou que le navigateur ne le supporte pas), ben ton code de detection fonctionne pas.
La aussi tu utilise un mauvaise technique.
De nos jours on separe le JS de l'html, ce qui permet de faire "une detection de JS sans JS".
En gros, on construit la page html de telle facon que cette derniere n'ai pas besoin de JS pour fonctionner.
Ensuite on introduit un script (fichier externe) pour _AJOUTER_ le comportement JS.
Donc si le JS n'est pas active, la page fonctionne quand meme. Et si le JS est active, le comportement sera ajoute une fois la page chargee (grace a window.onload).
Tu peux lire cet article qui explique pourquoi et comment separer le JS de l'html.