bonsoir,
dans le cadre de monpetit programme de diaporama basé sur la lecture d'un fichier xml; et après avoir obtenu votre aide pour les instructions pour parser, je suis conforté à un nouveau problème. Sous ie mon programme fonctionne bien par contre impossible de le faire fonctionner sous firefox?
Ma première analyse liée à l'introduction de l'affichage "alert()" du nombre de item de premier niveau via l'instruction documentElement.childNodes.length indique 5 enfants pour ie (ce qui est correct) et 11 élément pour firefox
Pourquoi ?
De plus lorsque je désire récupérer l'adresse de la photo à afficher ie le fait correctement alors que firefox me signale:
Erreur : Document.documentElement.childNodes is not a function
Fichier source : file:///G:/Sites%20Web/StudioLocationUnAndUn/diaporama/diaporama1.js
Ligne : 63


Je ne trouve pas mon erreur qui peut m'aider ?

ci joint les différents fichiers

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
---------// JavaScript Document
var Delai =5;
    var Document = null;
    var CompteurTransition=0;
 
 
 
function Diaporama()
{
 
if (window.ActiveXObject) {
    xmlTemp=new ActiveXObject("Msxml2.DOMDocument");
} else if (window.XMLHttpRequest) {
    xmlTemp=document.implementation.createDocument("", "", null);
}
 
xmlTemp = getXMLbyRequest("diaporama.xml", "Msxml2.DOMDocument");
function getXMLbyRequest(cXPathString, activeXType) {
    if (window.ActiveXObject) {
        var tmpXMLDoc = new ActiveXObject(activeXType);
        tmpXMLDoc.async = false;
        tmpXMLDoc.load(cXPathString);
        return tmpXMLDoc;
    }
    else if (window.XMLHttpRequest) {
        var objXMLHTTP = new XMLHttpRequest();
        objXMLHTTP.open("GET", cXPathString, false);
        objXMLHTTP.send(null);
        return objXMLHTTP.responseXML;
    }
}
 
 
Document=xmlTemp;
Delai=Delai*1000;
 
 
 
 
var NbDiapo =Document.documentElement.childNodes.length;
alert(NbDiapo);
var CompteurDiapo=0;
 
//initialise l'image de 'écran
var e =document.getElementById("Ecran");
var z=document.createElement("img");
z.setAttribute("id","ImageDiapo");
z.setAttribute("src","Photos/p0.jpg");
e= document.getElementById("Ecran")
 
e.appendChild(z);
 
 
Afficher(CompteurDiapo,NbDiapo);
 
 
 } 
 
 function Afficher(CompteurDiapo,NbDiapo)
{
CompteurDiapo=CompteurDiapo+1;
var e=document.getElementById("ImageDiapo");
var Adresse=Document.documentElement.childNodes(CompteurDiapo).childNodes(0).firstChild.nodeValue;
 
e.setAttribute("width",Document.documentElement.childNodes(CompteurDiapo).childNodes(2).text);
e.setAttribute("height",Document.documentElement.childNodes(CompteurDiapo).childNodes(3).text);
e.setAttribute("src",Adresse);
 
 
if (CompteurDiapo>=NbDiapo-1)
{
CompteurDiapo=0;
}
 
var TimerDiapo=window.setTimeout("Afficher("+CompteurDiapo +","+NbDiapo+")",Delai);
}
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
<?xml version="1.0" encoding="windows-1250"?>
<diaporama>
 
    <photo>
    <adresse>Photos/p0.jpg</adresse>
    <texte>hh</texte>
    <largeur>450 </largeur>
    <hauteur>338</hauteur>
  </photo>
 
 
    <photo>
    <adresse>Photos/p1.jpg</adresse>
    <texte>gg</texte>
    <largeur>800 </largeur>
    <hauteur>533</hauteur>
  </photo>
 
 
    <photo>
    <adresse>Photos/p2.jpg</adresse>
    <texte>Photos/p0.jpg</texte>
    <largeur>400 </largeur>
    <hauteur>599</hauteur>
  </photo>
 
 
    <photo>
    <adresse>Photos/p3.jpg</adresse>
    <texte>oo</texte>
        <largeur>532 </largeur>
    <hauteur>800</hauteur>
  </photo>
 
 
    <photo>
    <adresse>Photos/p4.jpg</adresse>
    <texte>pp</texte>
    <largeur>800</largeur>
    <hauteur>532</hauteur>
  </photo>
 
 
 
 
</diaporama>