Vérifier longueur d'href d'une iframe

Rechercher

Vérifier longueur d'href d'une iframe

Par arbilus  -  5 reponses  -  Le 01/10/2010 14:26  -  Editer  - 

Bonjours, j'aurais aimer savoir comment faire pour vérifier la longueur de l'url courant d'une iframe .

Voila ce que j'ai fait :

<iframe name="l" id="l" src="http://www.google.com" width=600 height=200 scrolling=auto frameborder=1 > </iframe> <script>var hreff = window.frames['l'].location.href;if(hreff.length = 21) { alert("lll");}</script>

 

Cependant ça ne fonctionne pas vraiment: que je mette 21 ou 20 ou encore 35 ça m'affiche quand même la boite de dialogue . Pouvez-vous m'aider ?

 

Réponses apportées à cette discussion

Par Cyrano  -  Le 01/10/2010 15:59  -  Haut de page  - 

Gros malin, ça, c'est une erreur d'inattention. Je te mets le bout de code ou est l'erreur, mais je te laisse la trouver, tu ne l'oubliera plus :

if(hreff.length = 21)

C'est gros comme une maison :P

 
Par arbilus  -  Le 01/10/2010 16:03  -  Haut de page  - 

Le double == au lieu du "=" .

Mais ça change rien, ça ne fonctionne pas. Alors je me demandais si ça n'avait pas un rapport avec le fait qu'on ne peut pas récupérer l'url d'une iframe si son contenu est externe .

Car moi je veux pas connaitre l'url de l'iframe, mais sa longueur .

 
Par Cyrano  -  Le 01/10/2010 16:12  -  Haut de page  - 

Ok, effectivement ça ne fonctionneme pas mais il y a, outre le problème =/== un problème de propriété de l'élément.

Voici une alternative qui fonctionne :

<iframe name="l" id="l" src="http://www.google.com" width=600 height=200 scrolling=auto frameborder=1 ></iframe>
    <script type="text/javascript">/* <![CDATA[ */
    window.onload = function()
    {
        var hreff = document.getElementById('l').src;
        if (hreff.length == 21)
        {
            alert("lll");
        }
        else
        {
            alert(hreff.length +" catactères dans l'url du iframe");
        }
    };
    /* ]]> */</script>

Essaye ça et observe la manière dontj'accède à l'url du iframe.

 

 
Par arbilus  -  Le 01/10/2010 17:17  -  Haut de page  - 

Donc après vérif grace à ce script:

<html><head><title>IFRAME</title></head><body><iframe name="I_FRAME" id="I_FRAME" src="http://www.google.com" width=600 height=200> </iframe><script type="text/javascript">var Ref = window.frames['I_FRAME'].location.href;alert( 'Scr\t= ' + Ref +'\nLong\t= ' +Ref.length)</script></body></html>

 

J'ai finit par en déduire que la longueur du href de l'iframe était de 11 . J'ai donc fait:

Et là, ça fonctionne ! Mais par contre il y a un truc que je ne comprend pas ... L'url ne fait pourtant pas 11 caractères : Pourquoi 11 ?

PS: Concernant ton code, tu parles du src, et pas du href, c'est différent il me semble: le src c'est l'adresse de départ, le href c'est l'url courante de la page (en loccurrence l'iframe )

 

<IFRAME name="l" id="l" src="http://www.google.fr" width=600 height=200 scrolling=auto frameborder=1 > </IFRAME> <script>var hreff = window.frames['l'].location.href;if(hreff.length == 11) {  alert("lll");}</script>

 

 
Par Cyrano  -  Le 01/10/2010 17:26  -  Haut de page  - 

Tu veux vérifier l'url de la page elle-même ou de la page contenue dans le iframe ? Le code que j'ai fait s'occupe de l'url du iframe, pas de la page en cours. Or il n'y a pas d'attribut href dans la balise , donc je pointe sur un attribut existant qui indique à quelle adresse se trouve le contenu à afficher et donc « src »

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |