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 :

[DOM] Javascript et DOM


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut [DOM] Javascript et DOM
    Bonjour;

    j'ai des souscis avec FireFox.
    Je desire parcourir un noeud XML. Avec IE aucun pb.

    fichier XML

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <livre prix="cat2" ISBN="2-212-09051-X" code="DG1-0">
    <titre stock="non">CSS 2</titre>
    <auteur>Daniel GLAZMAN</auteur>
    <editeur>Eyrolles</editeur>
    </livre>
    <livre prix="cat1" ISBN="2-84082-533-3" code="MJY1-0">
    <titre stock="oui">XML</titre>
    <auteur>Michael J. YOUNG</auteur>
    <editeur>Microsoft Press</editeur>
    <collection>Formation à...</collection>
    </livre>
    deja :
    collectionlivre[1].childNodes.length
    --> ne marche pas avec firefox.

    par contre
    collectionlivre.item(1).childNodes.item(1).firstChild.nodeValue
    --> marche

    mais si je fais
    collectionlivre.item(i).childNodes.item(2).firstChild.nodeValue
    plus rien ne marche ?!?

    Help, car je suis en train d'essayé de faire des fonction DOM compatible avec IE et Firefox

    merci à vous

    collectionlivre.item(i).childNodes.item(1).firstChild.nodeValue[/quote]
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh ton collectionlivre tu l'obtiens comment ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 193
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 193
    Points : 8 403
    Points
    8 403
    Billets dans le blog
    17
    Par défaut
    siddh a raison. Donne-nous un testcase complet topolino, sinon on ne pourra pas t'aider
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  4. #4
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    function importXML(){
    if (document.implementation && document.implementation.createDocument){
    xmlDoc = document.implementation.createDocument("", "", null);
    //alert('firefox');
    xmlDoc.onload = createTable;
    }else if (window.ActiveXObject){
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    //alert('ie');

    xmlDoc.onreadystatechange = function () {
    if (xmlDoc.readyState == 4) createTable()
    };
    }else{
    alert('Your browser can\'t handle this script');
    return;
    }
    xmlDoc.load("librairie.xml");
    //alert(xmlDoc);
    }
    Dans createTable() -->

    collectionlivre = xmlDoc.documentElement.getElementsByTagName("livre");
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Kikoo mickey
    regarde dans la FAQ ou les propositions de code source il y a un code de NodeCleaner...
    le problème étant que IE et firefox ne comptent pas les Nodes de la même façon ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    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
    En avant premiere (et tant que je ne l'ai pas intégré à la FAQ):

    Pourquoi un comportement de DOM différent sous FireFox et IE?

    déclinaison typiques:
    Pourquoi est ce que root_node.childNodes[j].childNodes.length renvoie undefined?
    Pourquoi est ce que root_node.firstChild.childNodes.length renvoie undefined?
    Parceque IE et Firefox n'ont pas la même façon de parser les documents XML (y compris les HTML). Firefox va prendre en compte les noeuds textes consituté uniquement de caractères blancs, ce que IE ne fait pas.

    Exemple:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <list>
    <tel><nom>abcdef</nom><id>123</id></tel>
    <tel><nom>xyz</nom><id>124</id></tel>
    </list>
    Donnera sous IE (qui est l'arbre le plus communément attendu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    |--list 
        |--tel 
        |    |--nom 
        |    |    |--"abdcef" 
        |    |--id 
        |         |--"123" 
        |--tel 
             |--nom 
             |    |--"xyz" 
             |--id 
                  |--"124"
    Et sous Firefox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    |--list 
        |--"  " 
        |--tel 
        |    |--nom 
        |    |    |--"abdcef" 
        |    |--id 
        |         |--"123" 
        |--"  " 
        |--tel 
        |    |--nom 
        |    |    |--"xyz" 
        |    |--id 
        |         |--"124" 
        |--"  "
    D'ou les problemes de firstChild et autres childNodes....

    La solution: créer un nettoyeur de noeuds qui supprime les noeuds textes vides (ne contenant que des caractères blancs).

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    arf merci de la précision Denis
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    c'est cool
    tu pourras aussi mettre les deux versions de nodecleaner :p
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    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
    Citation Envoyé par siddh
    c'est cool
    tu pourras aussi mettre les deux versions de nodecleaner :p
    Tu veux rire

    J'vais mettre juste la mienne, celle de JT, elle ira à la poubelle directe

    PS: c'est du second degré, si quelqu'un avait des doutes (je prefere préciser...)

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    lol
    mets la version de JT dans un Node bien choisi ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Je sais bien que la structure est legerement differente, mais ce n'est pas que un pb d'indice. Il ne parcourspas du tout les chilnodes de mon node principale. Il est la le pb. Je ne comprends plus rien
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  12. #12
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    Personne n'a connu ce pb ?
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  13. #13
    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: Javascript et DOM
    Citation Envoyé par topolino
    collectionlivre[1].childNodes.length --> ne marche pas avec firefox.
    Typiquement, collectionlivre[1] est un noeud texte, il n'a donc pas de childNodes et ça te fait une erreur de undefined...

  14. #14
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Points : 637
    Points
    637
    Par défaut
    que dois je faire alosr poura voir l'equivalence ?
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  15. #15
    Membre éprouvé
    Avatar de Zenol
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 812
    Points : 1 054
    Points
    1 054
    Par défaut
    Citation Envoyé par denisC
    La solution: créer un nettoyeur de noeuds qui supprime les noeuds textes vides (ne contenant que des caractères blancs).
    Il sufit de lire
    Mes articles Développez | Dernier article : Raytracer en haskell
    Network library : SedNL | Zenol's Blog : http://zenol.fr

    N'oubliez pas de consulter la FAQ et les cours et tutoriels.

Discussions similaires

  1. [DOM] fonctions du DOM javascript
    Par aztec dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/11/2008, 21h46
  2. [DOM] Javascript et DOM pour debutante
    Par vds2302 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 22/08/2007, 11h09
  3. [DOM] javascript event dom
    Par pittacos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/04/2007, 21h15
  4. [DOM] JavaScript et DOM pour modifier du texte
    Par flykev dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/07/2006, 15h04
  5. [XML][XSL][DOM][JAVASCRIPT]melanger le tout, laisser reposer
    Par mitsein dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/07/2004, 16h56

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