Partage
  • Partager sur Facebook
  • Partager sur Twitter

iFrame Loading

    20 octobre 2011 à 19:17:29

    Bonjour à toutes et à tous.

    Je suis en pleine lecture du cours de Nesquik69 et Thunderseb sur AJAX.
    J'en suis arrivé sur la partie iFrame et là j'ai un petit problème.

    Je m'explique. J'ai une page avec une iFrame justement comme ceci :

    <iframe id="myFrame" name="myFrame" src="http://www.monAutreSite.com" style="width:100%; border:0px;"></iframe>
    


    Sur cette même page j'ai le javascript suivant :

    <script>
    	setTimeout(myFunction, 10000);
    	
    	function myFunction(){
    		var frame = window.frames["myFrame"].document;
    		var tableau = frame.getElementById('parcourir');
    		var body = document.getElementsByTagName('body')[0];
    		body.appendChild(tableau);
    	}
    </script>
    


    Voilà alors je pense que comme vous l'avez surement compris, le but est de récupérer un tableau dans la Frame et de l'inclure dans le body de la page réel.
    Seul problème c'est qu'à l'exécution du JavaScript, j'ai l'erreur suivante :
    "Uncaught TypeError: Cannot call method 'getElementById' of undefined "
    L'erreur est donc sur la ligne "var tableau = frame.getElementById('parcourir');" mais impossible de comprendre ce qu'il faut que je fasse pour récupérer ce tableau :(

    Voilà en espérant que quelqu'un puisse m'aider.

    Cordialement,

    Jordan1731
    • Partager sur Facebook
    • Partager sur Twitter
      20 octobre 2011 à 20:14:54

      As-tu essayé de récupérer la frame via son id ?
      • Partager sur Facebook
      • Partager sur Twitter
        20 octobre 2011 à 20:57:50

        Citation : Golmote

        As-tu essayé de récupérer la frame via son id ?



        Comment faire par l'ID ??
        • Partager sur Facebook
        • Partager sur Twitter
          20 octobre 2011 à 21:52:06

          Etant donnée la ligne 6 de ton code, je ne répondrai pas à cette question...
          • Partager sur Facebook
          • Partager sur Twitter
            20 octobre 2011 à 22:20:21

            Citation : Golmote

            Etant donnée la ligne 6 de ton code, je ne répondrai pas à cette question...



            :lol:

            Excuse moi, je me suis mal exprimé, je me doute bien que ce soit avec getElementById()
            Ce que je veut dire c'est quel est la syntaxe à suivre ?
            car j'ai essayé ce code :

            <script>
            	setTimeout(myFunction, 10000);
            	
            	function myFunction(){
            		var frame = window.getElementById('myFrame').document;
            		var tableau = frame.getElementById('parcourir');
            		var body = document.getElementsByTagName('body')[0];
            		body.appendChild(tableau);
            	}
            </script>
            


            Et cela ne fonctionne pas o_O

            Donc m'a question est peut être bête, c'est vrai mais j'ai encore un peut de mal à comprendre comment on accède au frame avec javascript >_<
            • Partager sur Facebook
            • Partager sur Twitter
              20 octobre 2011 à 23:35:27

              C'est sur document que tu dois appeler la méthode getElementById ;)
              • Partager sur Facebook
              • Partager sur Twitter
                21 octobre 2011 à 17:34:16

                Bon alors j'ai pas tout compris mais j'ai tout de même essayé ceci :

                <script>
                	setTimeout(myFunction, 2000);
                
                	function myFunction(){
                		var frame = window.document.getElementById("myFrame");
                		var tableau = frame.document.getElementById('parcourir');
                		var body = document.getElementsByTagName('body')[0];
                		body.appendChild(tableau);
                	}
                </script>
                


                Et euuuh sa marche toujours pas o_O
                • Partager sur Facebook
                • Partager sur Twitter
                  22 octobre 2011 à 0:35:33

                  Citation : Golmote

                  Même erreur ?



                  Oui ... o_O
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 octobre 2011 à 0:53:36

                    Houla euh... Quand tu dis "http://www.monAutreSite.com" dans ton premier post... tu veux dire vraiment un autre nom de domaine ? Si oui, c'est "normal" que tu n'arrives à pas grand chose... c'est une sécurité...

                    Y'a une partie du tuto sur le crossdomain.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 octobre 2011 à 8:38:59

                      Oui tout à fait, c'est bien un autre domaine.
                      Bon je vais regarder cette partie sur le crossdomain puis je reviens par là pour te dire si j'ai solutionné le problème =)

                      Merci de ton aide en tout cas =)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      iFrame Loading

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown