Recuperer url

salut,
Je sais qu'il n'est pas possible, à cause du SOP (Same Origin Policy), de récupérer l'url d'une page d'un autre site chargée dans une iframe de ma page.
document.getElementById('id_de_la_frame').src;---->renvoie l'url de départ, pas l'url actuelle.
En effet, l'utilisateur ne restera pas sur la page d'accueil, donc iframe.src ne me sert à rien.
Par exemple, si entre temps l'utilisateur est allé sur webrankinfo.com, iframe.src renverra toujours google.fr :/
Moi je cherche l'url actuellement affichée dedans...
j'ai bcp essayé mais pas de résultat , j'attend votre aide
mrc d'avance

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. essaies: ???

    var url=document.getElementById('id_de_la_frame').location.href;
    1. voila mon code
      <script src="jquery-1.9.0.min.js"></script>

      <iframe id="frame" src="http://http://www.google.fr/"></iframe>
      <input type="button" value="Jarreb">
      <script>
      $('input').click(function(){
      var url=document.getElementById('frame').documentWindow.location.href;
      alert(url);
      });
      </script>
      1. tu n'as pas appliqué la modif telle que je te la proposait:

        <script  type="text/javascript" src="jquery-1.9.0.min.js"></script>      
        
        <iframe id="frame" src="href= <a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'><a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'><a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'><a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'>http://www.google.fr/'</a></a></a></a> target='_blank'>[[[[http://]]]]https://www.google.fr/?gws_rd=ssl</a>"></iframe>      
        <input type="button" value="Jarreb">      
        <script  type="text/javascript">      
        $('input').click(function(){      
        var url=document.getElementById('frame').location.href;      
        alert(url);      
        });      
        </script>


        et tu n'as même pas besoin de jQuery pour faire cela:

        
        <iframe id="frame" src="href= <a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'><a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'><a href='http://www.google.fr/'' target='_blank' rel='noopener noreferrer'>http://www.google.fr/'</a></a></a> target='_blank'>[[[http://]]]https://www.google.fr/?gws_rd=ssl</a>"></iframe>     
        <input type="button" value="Jarreb" onclick="lecture_url();">     
        <script type="text/javascript">     
        function lecture_url(){     
        var url=document.getElementById('frame').location.href;     
        alert(url);     
        }    
        </script>


        Mais je viens de faire l'essai ton code pose déja des pb avant mêm le click sur le bouton.

        et je viens de tomber la dessus sur le danger de l 'iframe:

        http://www.certa.ssi.gouv.fr/site/CERTA-2008-INF-001/CERTA-2008-INF-001.html
        1. merci bcp Alain_42
          mais je trouve encore les memes erreurs "Refused to display 'http://www.google.fr/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. ...etc
          je essayé de faire autrement
          <html>
          <head>
          <script>
          function open_win()
          {
          win=window.open("https://www.google.com/?gws_rd=ssl");
          var t=setTimeout(function(){alert(win.location)},2000)
          }
          </script>
          </head>

          <body>
          <form>
          <input type="button" value="Open Window" onclick="open_win()">
          </form>
          </body>

          </html>
          mais aussi ça pas marché,l'alerte affiche about:blank (que lorsque la fenetre ne s'ouvre pas) sinon l'alert ne se declanche pas :(