Bonjour,
je travaille actuellement sur un script qui me permet de lire un fichier XML (écrit en dur au préalable) qui a cette forme :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <racine> <pages> <page1> <nom>aaa</nom> <lien>http://monlien1</lien> <seconde>1000</seconde> </page1> <page2> <nom>bbb</nom> <lien>http://monlien2</lien> <seconde>20000</seconde> </page2> </pages> </racine>
Allant de <page1> a <page6> dans ce fichier.
J'ai une fonction qui me permet de charger le XML suivit de variable de stockage d'information:
Premier Probleme:
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 function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(); return xhttp.responseXML; } // charge le xml et le met dans xmlDoc xmlDoc=loadXMLDoc("fichierconf.xml"); //stock pages dans lespages var lespages = xmlDoc.getElementsByTagName("pages"); //compte le nombre de noeud ( JE RETIRE 7 SOUS FIREFOX POUR AVOIR MES 6 NOEUDS QUI CORRESPONDENT A MES 6PAGES) var nombre = ((lespages[0].childNodes.length)-7);
Il me semble que le DOM ne compte pas comme je voudrais mes noeuds je dois retirer "7" au résultat pour avoir la bonne valeur.
J'ai une deuxieme fonction qui boucle sur le XML et envoi les informations receuillit à une autre fonction qui me permettra d'afficher les contenus des <liens>:
Voici la fonction qui devrais me permettre d'afficher les liens:
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 function load() { // boucle et récupere les informations de chaques pages for (i=0; i<nombre; i++) { var nom=lespages[0].getElementsByTagName("nom")[i].firstChild.nodeValue; var seconde=lespages[0].getElementsByTagName("seconde")[i].firstChild.nodeValue; var lien=lespages[0].getElementsByTagName("lien")[i].firstChild.nodeValue; affichage(seconde,lien); } load(); }
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 function affichage(seconde,lien) { var delai = seconde; var url_de_redirection = lien ; //insert le lien dans le Div conteneur document.getElementById("conteneur").innerHTML=lien; }
Mon but est d'afficher une pages web réferente a la balises <lien> dans ma <div id="conteneur"> pendant X <seconde> puis de passer a la suivante. Et ceci en boucle infinis (toute la journée afficher les pages en boucles suivant les <seconde> parametrer dans le XML sur une page HTML.
Mon problème est que j'arrive à afficher le liens dans ma div, mais pas à "l'executer" / "simuler un click" / "afficher son contenu" (suivant la manière de tourner la phrase dans notre esprit ).
Je me retrouve donc avec une div contenant: http//:monlien1 au lieu d'avoir une div contenant le CONTENU de http//:monlien1.
Merci pour le temps et l'aide que vous m'apporterez.
Cordialement
Partager