Comment résoudre les problèmes de compatibilité du navigateur tout en travaillant avec JavaScript, AJAX et XML
Alors que je travaillais sur un projet, je l'ai fait face à de nombreux navigateur problèmes de compatibilité comme la façon d'ignorer les espaces blancs lors de l'écriture de code en JavaScript. Je remarquai que, IE (Internet Explorer) navigateur ignore espace blanc mais Mozilla (Firefox) et d'autres navigateurs Netscape ne sont pas en ignorant les espaces blancs.
Lorsque je l'ai fait face à la question? Quand je tentais de récupérer la longueur de childNodes dans noeud parent respectif. Alors que je me récupérer le même navigateur Mozilla Firefox se comporte d'une manière différente que le navigateur IE. En fait, je dois seulement »2 nœuds enfants» dans un noeud parent. IE montre la longueur (nParentNode [0] .childNodes.length) que 2, mais quand je exécute le même code dans mozilla le résultat respectif était différente - ce ne fut pas mon résultat attendu, il devrait être de 2 à mozilla ainsi
.
Après avoir fait quelques recherches sur ce, je observé que IE ne tient pas compte des espaces blancs, mais venir à Mozilla et d'autres ont été navigateur de ne pas ignorer les espacements, à venir sur cette question, nous devons utiliser une ligne de code supplémentaire.
12345for (var j = 0; j si (nParentNode [0] .childNodes [j] .nodeType = 1!) continuer; ... continuer avec le code ...}
Si vous regardez le code ci-dessus, l'état dans ' if 'fait notre travail.
Mon plan est d'ignorer les espacements, cela est possible en utilisant «nodeType» ci-dessus si l'état des contrôles pour ELEMENT_NODE, si elle est autre que ELEMENT_NODE qui est ATTRIBUTE_NODE (ou) TEXT_NODE (ou) ENTITY_NODE etc., il continue la boucle
Regardez le fichier XML, dont je me sers comme exemple:.?
123456789101112 version = "1.0" encoding = "utf-8" >>> label = "Organisation"> txt = txt "Google" = "10000 - 30.000 employés"> label = "Technologie"> txt = "sans fil"> >>
Dans le XML ci-dessus, est parent balise et qui est et sont des nœuds enfants.
Mon but ici est de savoir combien de nœuds enfants sont là dans le noeud, et pour obtenir les données de ces balises enfant. Si vous regardez le code JavaScript:
nParentNode pointe vers et nParentNode [0] indique que le tout premier nœud parent, childNodes est une propriété qui renvoie une NodeList contenant les nœuds enfants du nœud sélectionné respective. longueur indique le nomb