Journal 'Node' est indéfini (+ Free et moi)

Posté par  .
Étiquettes : aucune
0
25
juin
2004
Bonjour,

Je me connecte pour la 1ère fois depuis un windows et ici ma toolbar pue un peu. Elle a la meme apparence que quand on avait découvert le bug dû au titre de commentaire vide, a savoir énorme, cachée tout en bas de la page, bref pas glop.
IE m'indique qu'il y a des erreurs dans la page
Ligne 429, car 4 : 'Node' est indéfini

C'est grave ?
Bon c'etait juste un détail comme ca, toute facon vu que j'utilise un poste windows une fois tous les 3 ans, bah...

Sinon pour les autres qui étaient déjà au courant de mes petits aléas, j'attend toujours ma freebox, et ca fait maintenant 20 jours que je suis bloqué a l'étape 2 du suivi (demande de raccordement).

J'ai appelé FT qui m'ont dit que c'etait pas leur probleme, et qu'ils avaient pas a me dire ou ca en etait. Toutefois la dame m'a dit que pour ma ligne, il n'y avait rien de prévu.

Du coté de free : "on est débordé, on fait de notre mieux"

Bref quelque chose me dit que dans 2 mois j'y suis encore...
Et dire que pour Wanadoo en 5 jours j'avais le modem dans la boite aux lettres et la ligne ADSL activée !! (oui oui, ma ligne n'est pas encore dégroupée, j'attend juste une simple activation de ligne...)

Bref,
bonne journée tout le monde
  • # getElementsByClass

    Posté par  (site web personnel) . Évalué à 1.

    Ça doit provenir de la fonction :

    function getElementsByClass(seed, needle).

    Le script teste le type de Node en le comparent à la valeur de la constance Node.ELEMENT_NODE (qui fait partie de l'api DOM).

    Donc, il semble qu'IE n'implement pas Node correctement. Malheureusement je n'ai pas IE, mais je vais faire un test ce soir sur mon site pour tester. Je reposterais le link plus tard, tu pourras essayer (ou d'autres sous IE).
    • [^] # Re: getElementsByClass

      Posté par  . Évalué à 2.

      Ces constantes étant présentes sur chaque nœud, il faudrait faire:

      if (seed.nodeType == seed.ELEMENT_NODE)
    • [^] # Re: getElementsByClass

      Posté par  (site web personnel) . Évalué à 1.

      • [^] # Re: getElementsByClass

        Posté par  (site web personnel) . Évalué à 0.

        Et au lieu de faire ca comme un porc juste en retirant le test (qui est utile) il suffit de remplacer Node.ELEMENT_NODE par 1, comme c'est deja fait a d'autres endroits dans le fichier.
        • [^] # Re: getElementsByClass

          Posté par  (site web personnel) . Évalué à 0.

          Ah bon à quoi sert ce test ?

          Parce qu'un element qui a className définit ne peut être qu'un Node.ELEMENT_NODE, si ce n'est pas le cas explique moi un cas.

          Maintenant, j'essaye de corriger certains trucs. Ça à vraiment l'air de t'emmerder : Et au lieu de faire ca comme un porc

          Alors ça tu te le gardes, question porcherie c'était pas mal avant que j'y passe.

          Merci
          • [^] # Re: getElementsByClass

            Posté par  (site web personnel) . Évalué à 1.

            Le test sert a eviter d'aller la dedans avec une node non Element:
            _GetElementsByClass(outArray, seed.firstChild, needle);
            C'est la ligne juste apres le test sur l'attribut class...
            • [^] # Re: getElementsByClass

              Posté par  (site web personnel) . Évalué à 1.

              Oui... ça change pas grand chose... (enfin peut-être un peux plus rapide) quoique, une fonction recursive sur les childNode (seulement les elements en ont) évitent ça aussi.


              function getElementsByClass(seed, needle)
              {
              var outArray = new Array();

              function _GetElementsByClass(outArray, seed, needle)
              {
              if (seed)
              {
              if (seed.className != null)
              {
              var c = " " + seed.className + " ";
              if (c.indexOf(" " + needle + " ") != -1)
              outArray.push(seed);
              }
              var list = seed.childNodes;
              for (var i=0;i<list.length;i++)
              if (list[i].childNodes.length > 0) _GetElementsByClass(outArray, list[i], needle);
              }
              }
              _GetElementsByClass(outArray, document.body, needle);
              return (outArray);
              }


              Enfin, apparemment, il n'y a pas que ça qui empêche le fonctionnement sur IE.

              Mais si quelqu'un avec IE teste et envoie un message d'erreur, on pourrais aller plus loin.
              • [^] # Re: getElementsByClass

                Posté par  (site web personnel) . Évalué à 1.

                Bon finalement, en définissant var ELEMENT_NODE = 1; en début de fichier


                // version originale par daniel glazman - www.glazman.org
                function getElementsByClass(seed, needle)
                {
                var outArray = new Array();

                function _GetElementsByClass(outArray, seed, needle)
                {
                if (seed)
                {
                if (seed.className != null)
                {
                var c = " " + seed.className + " ";
                if (c.indexOf(" " + needle + " ") != -1)
                outArray.push(seed);
                }
                var list = seed.childNodes;
                for (var i=0;i<list.length;i++)
                if (list[i].nodeType == ELEMENT_NODE) _GetElemen
                tsByClass(outArray, list[i], needle);
                }
                }
                _GetElementsByClass(outArray, document.body, needle);
                return (outArray);
                }


                Ça semble bon comme ça... mais j'aimerais vraiment savoir où ça foire dans IE.
                • [^] # Re: getElementsByClass

                  Posté par  (site web personnel) . Évalué à 1.

                  Bon finalement j'ai compris pourquoi le getElementsByClassName fonctionne avec le nextSibling. Donc la version childNodes n'est pas bonne dans ce cas.
  • # F.A.Q. Officieuse de l'ADSL chez FREE

    Posté par  (site web personnel) . Évalué à 3.

    http://mon.adsl.chez.free.fr/(...)

    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.