Vérifier longueur d'href d'une iframe
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
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
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 .
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.
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>
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 »