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>
Partager