IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Insertion et activation de liens


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut Insertion et activation de liens
    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:

    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);
    Premier Probleme:
    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>:

    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();
     
     
    }
    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
    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

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Mon probl�me est il compr�hensible ?

    J'ai essayer de faire une redirection avec un timer(d�fini par <seconde>)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function affichage(seconde,lien) 
    {
     
    	var delai = seconde;
    	var url_de_redirection = lien ;	
    	setTimeout("self.location.href = url_de_redirection;",delai) ;
    }
    Je n'ai pas r�ussit a faire marcher cette fonction comme je le voulais.
    J'ai donc enlever le setTimeout pour faire une redirection classique:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function affichage(seconde,lien) 
    {
     
    	var delai = seconde;
    	var url_de_redirection = lien ;		
     
    	//redirige sur le lien
    	redirection=(top.location.href=lien);
     
    }
    Sa fonctionne, mais le probl�me c'est qu'une fois la premiere redirection execut�...ba on change de page et donc on arrete le sript, pas de boucle donc..

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    J'ai revu mon aglorithme de base est n'execute pas les boucles de la meme facon.

    L'algo' me semble juste ce coup ci mais je n'arrive pas a faire marcher le setTimeout la syntaxe me semble bonne pourtant:


    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <script type="text/javascript">
     
     
    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 et enleve 7 pour avoir 6 pages
    var nombre = ((lespages[0].childNodes.length)-7); 
     
     
    // varriable pour le setTimeout
    var x  = null;
     
     
     
     
    function load()
    {
        clearTimeout(x); 
     
    	// 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);
     
    			} 
     
     
     
    }
     
     
     
     
     
     
    function affichage(seconde,lien) 
    {
     
    	var delai = seconde;
    	var url_de_redirection = lien ;	
     
     
    	//insert le lien dans le Div conteneur
    	document.getElementById("conteneur").innerHTML=lien;	
     
    	//execute load lorsque le delai est depasser ( seconde du XML)
    	x = setTimeout(load, delai); 
     
    }
     
     
    </script>
     
    <div id="conteneur">
     
    </div>

  4. #4
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Pourquoi retirer 7 ? Normalement ton code est cens� retourner le nombre de noeuds fils de <pages>. Donc s'il y a 6 fois <page>, c'est cens� retourner 6.

    Pourquoi red�finir ces variables ?
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var delai = seconde;
    var url_de_redirection = lien ;
    Surtout que tu ne te sers pas de url_de_redirection. Utilise directement les variables pass�es � la fonction

    Et fais directement setTimeout(load, seconde);
    D'ailleurs il s'agit de millisecondes, n'est-ce pas ? Pas de seconde, histoire d'�tre pointilleux sur le nom des variables / balises.

    Je peine � comprendre ton code .... comme il est fait l�, �a va tourner en boucle un sacr� bout de temps en n'affichant que le premier lien. En effet, toutes les X secondes (X �tant le nombre de secondes du premier �l�ment page); �a va �craser ton conteneur

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Pourquoi retirer 7 ?
    Parce que childNodes renvoie tous les noeuds, pas uniquement les �l�ments et comme les retours chariots sont consid�r�s dans le DOM comme des noeuds texte, il faut les retirer.

    Ce qui revient � dire que childNodes n'est pas la bonne propri�t� � utiliser, on pr�f�rera children qui renvoie uniquement les noeuds de type Element.
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    @ Bovino: J'ai donc remplacer [childNodes] par [Children] deja sa marche mieux, merci


    @ Kaamo: J'avais redefinis mes variables pour une autre versions de mon code, et pensant que sa ne genais en rien, j'ai laisser comme sa. Mais si tu pense que sa peux envenimer la chose, je changerais pas.
    Concernant l'algo', je pensais que sa ferais un truc du genre:

    Chargement de toutes les variables
    Chargement de la page et de la fonction Load
    Je boucle dans load avec mon for pour r�cuperer les valeurs de mon XML
    J'apelle ma fonction pour afficher au fur et a mesure les pages grace aux valeurs que j'optiens. (Page 1 s'affiche... pendan X millisecondes)
    Je retourne dans la boucle de Load
    (Page 2 s'affiche... pendan X millisecondes)

    Ect...

    Mais lorsque je met des alerts dans mon code, je peux bien passer d'une page a une autre, en revanche si je met pas d'alerte, la fonction [setTimeout] ne semble pas fonctioner. (Peut etre le probl�me de bouclage sur le liens 1 que tu �voque).

    Tu aurais fais comment toi ?

  7. #7
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Si j'ai bien compris tu souhaites afficher les titres � des intervalles de temps d�finis par le contenu de la balise "seconde" du flux XML ?

    Un par un ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Titre 1 _1sec_ Titre 2 ______ 20 sec _______ Titre 3
    Ou en parall�le ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Titre 1 __
    Titre 2 ______________________
    Titre 3

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    C'est pas les titres que je veux afficher mais le contenu des pages dont j'ai stock� les liens dans le xml.

    Genre si je stock : Http://google.com dans <lien> de <page1>, et 5000 dans <seconde>, lors de mon premier passage dans ma boucle je veux afficher la v�ritable page du moteur de recherche google dans ma div conteneur ou dans un frame peut importe, pendant 5secondes.

    Puis passer a <page2>, qui pourrais etre http://developpez.net par exemple, pendant 3000 <seconde>

    Je r�cupere le titre, juste pour pouvoir tester avec des alerts mon code et ne pas me perdre de trop

    Mais sinon tu a bien compris

  9. #9
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Ce que tu veux faire c'est du "cross domain", c'est impossible. Sauf si on t'en donne le droit. Il faut que tu restes sur ton domaine.

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Je reste sur mon domaine.
    C'est des liens qui m'appartienne et qui sont dans mon domaine, de "simple" page html qui v�rifie l'etat de certain flux machine, bdd ect...

  11. #11
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    Dans ce cas, c'est tout bon. Mais pourquoi appeler les pages contenant les informations ? Pourquoi ne pas requ�ter directement l'information � la source ?

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Je veux avoir un visuel, sur des ecrans de supervisions, avec des gros carr� vert si tout est OK, rouge pas Ok ect... plus facile a voir d'un coup d'oeil.

    Et non mon code ne marche pas, c'est pas tout bon :s

    La boucle ne se fais pas avec le timer et je n'arrive pas a voir le contenu des liens mais seulement le liens ! (http://google.fr, au lieu d'avoir la page google d'ouverte et disponible).

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    J'ai reussi a faire marcher mon code sous firefox, le probl�me il ne marche pas sous IE 8

    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
    function loadXMLDoc(dname)
    {
    	//pour moz ect..
    	if (window.XMLHttpRequest)
    	{
    		//crée lobjet XMLHttprequest 
    		xhttp=new XMLHttpRequest();
    	}
     
    	//pour IE
    	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");
    L'erreur doit venir de ma fonction pour charger le XML.
    En effet je ne passe pas dans mon "else" quand j'ouvre ma page sous IE8.

    Sous firefox, mon code s'execute sans erreur, sous IE j'ai une page blanche sans erreur.

  14. #14
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    C'est s�rement un probl�me de s�curit� (cross-domain). A mon avis, tu dois avoir un acc�s refus�.
    Tu travailles en local sur ta machine ? Ou ton fichier "fichierconf.xml" est fourni par un serveur ?

    Essaie de mettre le chemin complet d'acc�s au fichier XML

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Je travail en local pour mon fichier XML et mon JS qui appele des pages qui elles sont sur un intranet.

    Je pense surtout que le probl�me viens de l'interpretation du code par notre cher IE 8.

    Sous firefox il trouve bien mon fichier XML sans mettre le chemin complet, �tant dans le meme dossier que mon fichier JS.

    ps: J'ai bien cocher l'option "enable native XMLHTTP SUPPORT" dans les options de IE.

  16. #16
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par r1oll Voir le message
    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>
    Sur ce genre de XML tu as les �l�ment suivant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    élément racine
    textNode: "
    	"
    element pages
    textNode: "
    		"
    element page1
    textNode: "
    			"
    élément nom
    textNode aaa
    ...
    as tu tenu compte des textNodes dans l'analyse de ton DOM ?
    A+JYT

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Voici l'ensemble de mon code :

    Code javascript : 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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     <body onload="load();">
     
    <script type="text/javascript">
     
     
     
    function loadXMLDoc(dname)
    {
    	//pour moz ect..
    	if (window.XMLHttpRequest)
    	{
    		//crée lobjet XMLHttprequest 
    		xhttp=new XMLHttpRequest();
    	}
     
    	//pour IE
    	else if(window.ActiveXObject)
    	{
    		xhttp=new ActiveXObject("Microsoft.XMLHTTP");		
    	}
     
    //on spécifie la méthode de transmission des données, l'URL et le mode de transmission de la requête (sync' ou async')
    xhttp.open("GET",dname,false);
    //on execute
    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 
    var nombre = (lespages[0].children.length); 
     
    // tableau  de 6 lignes (nombre)
    var MonTab = new Array (); 
     
    // compteur des affichages
    var compteur = nombre-1;
     
     
     
     
     
    function load()
    {
     
    	//On boucle et récupere les informations de chaques pages...	
    		for (i=0; i<nombre; i++)
     
    			{
     
     
    					//...dans ces variables
    					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;		
     
    					//Initialisation du tableau pour stocker les valeurs du XML...
    					var tabTemp=new Array(nom, seconde, lien); 				
     
    					//Puis on remplit le tableau à chaques passages de la boucle
    					MonTab[i]= tabTemp;					
     
     
     
     
    			} 
     
    	//On appelle la fonction pour afficher les pages
    	affichage();
     
    }
     
    //Fonction qui affiche les pages à l'écran avec un timer 
     
    function affichage()
    {
     
     
       	//Remplace src"" du Iframe CONTENEUR par le lien récuperer par le XML
    	document.getElementById('conteneur').src=(MonTab[compteur][2]);
     
    	//On attribut un délai entre chaque switch de page selon (Seconde, du XML)
    	setTimeout(affichage, MonTab[compteur][1]); 
     
        //On décremente
    	compteur--;
     
    	//Si compteur = -1 on réinitialise le compteur a 5;
    	if(compteur == -1 ){
    				compteur = nombre-1;   
    					   }
     
    }
     
     
    </script>
     
     
    <div class="fullscreen">
    	<!-- Notre conteneur pour afficher les pages-->
    	<iframe id='conteneur' iframe align="" width="100%" height="100%" frameborder="1" scrolling="auto" src="" name="iframe"></iframe>
     
    </div>


    @ sekaijin: Je ne comprends pas la question, d�sol�.

    Mon probl�me est : Sous firefox ce code marche au poil ! Sous IE 8 il n'ex�cute que l'affichage du iframe vide, pour cause : il n'entre pas dans le
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    else if(window.ActiveXObject)
    {
    	xhttp=new ActiveXObject("Microsoft.XMLHTTP");		
    }

  18. #18
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    IE8 n'a pas � rentrer dans le else puisqu'il supporte nativement l'objet XMLHttpRequest...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  19. #19
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    D'ailleurs en passant :
    Il vaut mieux utiliser
    Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    // Pour IE 6 et inférieur seulement !
    xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    Seulement IE 6 et inf�rieur utiliserons cela de toute fa�on.

    En fait, il y a une sorte de bug de Microsoft (dans l'utilisation de XMLHttpRequest) qui emp�che de lire les fichiers en local de la machine � partir de javascript car il croit qu'ils viennent d'un autre domaine. Il a �t� r�par� dans Microsoft XML 3.0 Service Pack 1.

    Source via le site de Microsoft : CORRECTIF: "acc�s refus�" Erreur du chargement du fichier XML local alors que la propri�t� ServerHTTPRequest est � True et voir � Security: Cross-Domain and Zone Policy

  20. #20
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par d�faut
    Donc le probl�me viens d'un bug Microsoft ?

    Le contenu de mon else if, ne marche pas de toute facon, meme si je force son lancement.

    J'ai essayer avec
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    = new ActiveXObject('MSXML2.XMLHTTP.3.0');
    sa n'a pas l'air de marcher non plus.

    Et j'avoue que niveau DOM, R�gle de navigateur ect.. je suis vraiment pas dans le coup

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 2 12 Derni�reDerni�re

Discussions similaires

  1. activer/desactiver lien href
    Par soiz775 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 29/04/2009, 18h15
  2. Activer un lien hypertexte dans un contr�le
    Par mawelle dans le forum IHM
    R�ponses: 2
    Dernier message: 04/05/2008, 15h46
  3. Scroll bar qui active des lien lorsqu'on l'utilise
    Par pierrax dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 18/02/2008, 19h35
  4. Activer un lien en Javascript
    Par belocom dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 18/12/2007, 19h12
  5. [Syst�me] Activer 2 liens quand une vid�o se termine
    Par roseline43 dans le forum Langage
    R�ponses: 1
    Dernier message: 23/08/2007, 23h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo