Forum-webmaster
Technique - programmation => HTML / CSS / XHTML => Message commencé par: thecallingrock le le 15-06-2012 a 13:12:43

Titre: Redimentionner l'iframe automatiquement ?
Posté par: thecallingrock le le 15-06-2012 a 13:12:43

Bonjour,
je suis en train de creer un petit site, avec un menu qui ouvre des pages dans une iframe. Le contenu de chaque page etant plus ou moins long et ayant un carousel en bas de page, j'aimerais que l'iframe se redimentionne automatiquement pour s'ajuster aux differents contenus.

Le site :

http://thecallingrock.free.fr/Website/index.htm
PUIS CLIQUER SUR ASIA / CAMBODIA DANS LE MENU

je veux par exemple qu'il n'y ai pas tant de blanc sur la page d'accueil apres les icones de transports, et par exemple, dans ASIA - CAMBODIA on puisse voir la fin de la page

Merci pour votre aide, j'ai deja ecume les forums sans succes, je commence a desesperer !

-Marie

Titre: Re:Redimentionner l'iframe automatiquement ?
Posté par: lulu44 le le 17-06-2012 a 23:45:01

Les iframes ne sont pas la meilleur solution pour faire une incrustation, il y a include ou le ajax mais si tel est ton choix ;):

Dans ta page appelante, met ton iframe avec width à 100% et un id:
<iframe id="Monique" src="monique.php" width ="100%"></iframe>

Dans ta page appelée copie le code suivant ça devrait fonctionner:
<script type="text/javascript">
function IframeStruct(iframeid) {
if (!window.parent) return;
var myiframe = window.parent.document.getElementById(iframeid);
if(!myiframe) return;
myiframe.style.height = document.body.scrollHeight+"px";
}
</script>

Puis il te suffit dans ta page appelée d'ajouter l'élément body avec l'appel de la fonction et en attribut l'id de l'iframe(Monique):

<body onload="IframeStruct('instru');">
   <!-- Page -->
<p>Ici tu met ta page :)</p<
   <!-- /Page -->
</body>

Titre: Re:Redimentionner l'iframe automatiquement ?
Posté par: thecallingrock le le 18-06-2012 a 14:58:46

Citation de: lulu44 le le 17-06-2012 a 23:45:01
Les iframes ne sont pas la meilleur solution pour faire une incrustation, il y a include ou le ajax mais si tel est ton choix ;):


c'est la seule solution que je sache faire :(
Citation de: lulu44 le le 17-06-2012 a 23:45:01
Dans ta page appelante, met ton iframe avec width à 100% et un id:
<iframe id="Monique" src="monique.php" width ="100%"></iframe>


la dans ma page d'index j'ai bien mis ca, en remplacant monique par iframe1 et monique.php par home.htm.

Citation de: lulu44 le le 17-06-2012 a 23:45:01
Dans ta page appelée copie le code suivant ça devrait fonctionner:
<script type="text/javascript">
function IframeStruct(iframeid) {
if (!window.parent) return;
var myiframe = window.parent.document.getElementById(iframeid);
if(!myiframe) return;
myiframe.style.height = document.body.scrollHeight+"px";
}
</script>

donc la j'ai bien mis ca dans ma page home.htm en remplacant iframeid par iframe1

Citation de: lulu44 le le 17-06-2012 a 23:45:01
Puis il te suffit dans ta page appelée d'ajouter l'élément body avec l'appel de la fonction et en attribut l'id de l'iframe(Monique):

<body onload="IframeStruct('instru');">
   <!-- Page -->
<p>Ici tu met ta page :)</p<
   <!-- /Page -->
</body>


la pareil, j'ai mis ca dans home.htm et remplace ici tu met ta page par iframe1.


Et la c'est le drame, ca ne fonctionne pas =/ ca me change l'iframe en scroll box qui ne s'est pas adaptee a la hauteur de home.htm.

qu'est-ce que j'ai mal fait ?

Titre: Re:Redimentionner l'iframe automatiquement ?
Posté par: lulu44 le le 18-06-2012 a 17:44:09

Zut autant pour moi, j'ai oublié de te préciser. Déjà dans ta fonction javascript, rien est à changer, iframeid doit rester iframeid, c'est juste un nom de variable.

Ensuite à l'évenement onload de body dans ta page appelée tu dois mettre l'id de l'iframe : <body onload="IframeStruct('idiframe');">

Instru c'etait pour un de mes sites :)

Titre: Re:Redimentionner l'iframe automatiquement ?
Posté par: thecallingrock le le 19-06-2012 a 12:18:42

Citation de: lulu44 le le 18-06-2012 a 17:44:09
Zut autant pour moi, j'ai oublié de te préciser. Déjà dans ta fonction javascript, rien est à changer, iframeid doit rester iframeid, c'est juste un nom de variable.

Ensuite à l'évenement onload de body dans ta page appelée tu dois mettre l'id de l'iframe : <body onload="IframeStruct('idiframe');">

Instru c'etait pour un de mes sites :)


Salut,
Ca fonctionne effectivement mieux merci ! mais du coup uniquement pour ma page Home.htm
Je voudrais que cela soit applicable a toute mes pages, comment je fais ? par exemple que en cliquant sur Europe, la page soit adaptee a la longueur du contenu.



Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.