IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

setAttribute et compatibilité navigateurs .°/ ?


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut setAttribute et compatibilité navigateurs .°/ ?
    setAttribute ne Fonctionne ni avec IE ni avec Firefox !?
    Quelle est son utilité niveau compatibilité ?

  2. #2
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: setAttribute et compatibilité navigateurs .°/ ?
    Citation Envoyé par Lareine
    setAttribute ne Fonctionne ni avec IE ni avec Firefox !?
    Quelle est son utilité niveau compatibilité ?
    setAttribute(name,value) est une méthode du DOM, Level 2, donc il fonctionne dans IE et dans FFx.

    Tu as un exemple de code ou ça ne marcherait pas?

  3. #3
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function bordure(bouton)
    { 
      boutonElements=document.getElementsByTagName('td','div')
      for (b=0;b<boutonElements.length;b++){ 
      if(boutonElements[b].className==bouton){ 
      boutonElements[b].setAttribute("onmousedown","this.style.borderStyle='inset';")
      boutonElements[b].setAttribute("onmouseup","this.style.borderStyle='outset';")
      } 
     }
    } 
    window.onload = function(){bordure('bouton')};
    Dans celui là par exemple !

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    et un truc dans ce genre ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    boutonElements[b].onmousedown = function() {
        this.style.borderStyle='inset';
    }


    Pour moi ca releve plus de la gestion d'evenement que d'attributs le onmousetruc....

  5. #5
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Tu veux dire que setAttribute n'a aucun interet à être utilisé pour la
    compatibilité dans cette fonction précise donc ?

    Je te demande ça, comme je ne comprend rien à ta réponse ...

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Et moi je ne comprends rien à ta question

    As tu essayé de renseigner l'évenement onmousedown comme je te l'ai proposé , quel est le résultat ?

  7. #7
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Oui avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      boutonElements[b].onmousedown=function(){this.style.borderStyle='inset';}
      boutonElements[b].onmouseup=function(){this.style.borderStyle='outset';}
    et sa marche impec sous IE Opera et Firefox !

    Du coup je comprend pas l'interet du doublement de ligne avec setAttribute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      boutonElements[b].setAttribute("onmousedown","this.style.borderStyle='inset';") 
      boutonElements[b].setAttribute("onmouseup","this.style.borderStyle='outset';")
    Puisque ça ne fonctionne qu'avec Opera qui fonctionne aussi très bien avec
    les deux autres lignes d'instructions ???

    C'est clair là Mr.N Membre Expert ???

  8. #8
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Lareine
    C'est clair là Mr.N Membre Expert ???
    Non. Sa Majestée voudrait-elle me faire l'honneur d'expliquer ce qu'elle entends par "doublement de ligne" ?

  9. #9
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Lareine
    C'est clair là Mr.N Membre Expert ???
    Citation Envoyé par Mr N.
    Non. Sa Majestée voudrait-elle me faire l'honneur d'expliquer ce qu'elle entends
    par "doublement de ligne" ?
    Utiliser une ligne sur deux de codes différent pour des histoires de compatibilité:

    boutonElements[].setAttribute("onmousedown","this.style.borderStyle='inset';") // Opera & ?
    boutonElements[].onmousedown=function(){this.style.borderStyle='inset';} // Opera, IE et FFx
    boutonElements[].setAttribute("onmouseup","this.style.borderStyle='outset';") // Opera & ?
    boutonElements[].onmouseup=function(){this.style.borderStyle='outset';} // Opera, IE et FFx

    Mais je ne comprend pas trop l'utilité niveau compatibilité après avoir testée
    chaque groupe de deux lignes séparement avec Opera, IE et Firefox sous
    Windows !?

    D'où ma question: "Quels sont les navigateurs qui ont besoin de setAttribute
    pour pouvoir fonctionner dans cette exemple ?
    "

    Mon brâve Expert pouvez-vous éclairer ma royale lanterne ?! S'il vous plais....

  10. #10
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Pourquoi faire simple quand on peut faire compliqué...
    Tu as une ligne de code qui fonctionne pour les trois navigateurs IE Fx et Opera.... Pourquoi en mettre une autre pour Opera ???
    element.onmouseout = function() est la méthode standard pour affecter un évennement à un element. Si un navigateur ne fonctionne pas sur ce principe, c'est memme pas la peine de s'interesser à lui.
    Quand à opera qui marche avec setAttribute, c'est peut-etre pour des raisons de compatibilités...

  11. #11
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par Mr N.
    Pourquoi faire simple quand on peut faire compliqué...
    Tu as une ligne de code qui fonctionne pour les trois navigateurs IE Fx et Opera....
    Pourquoi en mettre une autre pour Opera ???
    element.onmouseout = function() est la méthode standard pour affecter un
    évennement à un element. Si un navigateur ne fonctionne pas sur ce principe,
    c'est memme pas la peine de s'interesser à lui.
    C'est bien l'impression que j'en ais !

    Citation Envoyé par Mr N.
    Quand à opera qui marche avec setAttribute, c'est peut-etre pour des raisons de
    compatibilités...
    Des raisons de Compatibilité d'Opera avec setAttribute donc ?
    Donc setAttribute fait bien doublon pour la gestion de ce type évennements ?

  12. #12
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben ca parait logique non...
    attribut != evenement surtout dans ta logique de supprimer tout ce qui est traitement du code (X)HTML

  13. #13
    Membre régulier Avatar de Lareine
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 125
    Points : 76
    Points
    76
    Par défaut
    Vue comme çà oui !
    le XHTML dans XHTML et les évenement JavaScript dans un *.js :o ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 20/01/2009, 12h29
  2. [AJAX] Compatibilité navigateurs
    Par charlottebardet dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/04/2008, 09h48
  3. Plusieurs input de type image et compatibilité navigateurs
    Par sovitec dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/12/2005, 11h20
  4. Popup et compatibilité navigateurs
    Par alain31tl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 08/12/2005, 14h27
  5. [Compilation][Web]Compatibilité navigateurs
    Par Niktou dans le forum Général Java
    Réponses: 4
    Dernier message: 01/09/2004, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo