Problème scroll iframe

Nayro57 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   -  
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Ayant commencé le développement d'un site pour un ami et selon sa volonté j'ai fais un menu avec divers liens et un grand div qui prend 80% de la page en largeur.

Mon problème est le suivant : à l'intérieur du grand div j'ai inséré une iframe qui se rempli selon le lien sur lequel on clique du menu. Par exemple en cliquant sur forum, le div va se remplir avec le forum.
Jusque là ça fonctionne mais le problème est que dans l'iframe au lieu de toute simplement agrandir la page principale lorsque le contenu dépasse, il me met une scrollbar dans l'iframe.

En somme, je voudrais savoir si il est possible de tout simplement agrandir la page principale (et donc le div) plutôt que de mettre une scrollbar dans l'iframe.

J'ai fais quelques recherches comme par exemple l'attribut scrolling à "no" dans l'iframe mais le problème c'est qu'il n'agrandit pas la page principal il se contente simplement de ne pas afficher le reste de l'iframe. J'ai tenté de jouer avec l'attribut overflow mais encore une fois sans succès...

Pourriez-vous m'aider s'il vous plait ?

P.S. : j'ai entendu à droite à gauche que c'était déconseillé d'utiliser les iframes, mais c'était la solution la plus simple à mettre en oeuvre rapidement, si quelqu'un a une autre solution pas trop difficile à mettre en oeuvre je suis preneur.

Merci bien :)


3 réponses

Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
en changeant le style de la div
document.getlementbyid('madiv').style.width='100%';

il me semble qu il faut faire ... par exemple avec la hauteur ...

function full_height() {    
         var hauteur; 
         if( typeof( window.innerWidth ) == 'number' )      hauteur = window.innerHeight;    
         else if( document.documentElement && document.documentElement.clientHeight )      hauteur = document.documentElement.clientHeight;    
             hauteur -= 50;    
             left_sidebar.style.height = hauteur+"px";    
             map.style.height = hauteur+"px";  }
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
window.onresize = function() {
full_height(); };
0
Nayro57 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   2
 
Ah désolé j'avais pas vu qu'il y avait eu une réponse :s

J'ai essayé ce que tu as marqué mais ça ne change rien :s :

<script type="text/javascript">
function full_height() {
var hauteur;
if( typeof( window.innerWidth ) == 'number' ) hauteur = window.innerHeight;
else if( document.documentElement && document.documentElement.clientHeight ) hauteur = document.documentElement.clientHeight;
hauteur -= 50;
left_sidebar.style.height = hauteur+"px";
map.style.height = hauteur+"px";
}

</script>

<script type="text/javascript">
window.onresize = function(){ full_height();}
</script>
0
Nayro57 Messages postés 198 Date d'inscription   Statut Membre Dernière intervention   2
 
Salut Fallentree,

Merci pour ton aide, j'ai fais un copier/coller de la fonction full_height dans ma page. Cependant, je ne sais pas trop où l'appeler dans mon code, au moment où l'on définit la hauteur du div ?
Par exemple :
<div height=<script type="text/javascript">full_height()</script>%>
l'iframe
</div>


La ligne que tu m'as donné au début :
document.getlementbyid('madiv').style.width='100%';

je ne comprend pas trop l'intérêt de la ligne, la div va toujours faire 80% en largeur, c'est en hauteur que ça pause problème, limite le scroll horizontal ne gène pas trop c'est surtout le scroll qui est gênant mais la hauteur du div est toujours en 100%
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
var hauteur = document.body.offsetHeight;
Permet de savoir la taille de la page sans scroll ...
Mais ...
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
0
Fallentree Messages postés 2309 Date d'inscription   Statut Membre Dernière intervention   209
 
<iframe id="iframe" onload="Heigther();" ></iframe>

function Heigther() {
var ifr=document.getElementById('iframe');
var ifr2=iframe.document.body;
ifr.style.height=ifr2.clientHeight+100;
}
0