IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Iframe qui ne s'adapte pas toujours


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par d�faut Iframe qui ne s'adapte pas toujours
    Bonjour � vous tous,

    Je suis actuellement en train de faire un site et la page index.html contient une iframe qui s'adapte en fonction de la page qui est charg�e � l'interieur:

    voici le code:


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript"> 
    function setHeight(){
    	var hauteur; 
    	var monFrm = document.getElementById('monIframe'); 
    	if(document.all){
    		hauteur = monFrm.contentWindow.document.body.scrollHeight;
    		}else{
    			hauteur = monFrm.contentWindow.document.body.offsetHeight + 20;
    		} monFrm.setAttribute("height", hauteur); 	
    	}
        </script> 
        <iframe id="monIframe" name="Principal" onload="setHeight()" src="intro.html" width="918px" scrolling="YES" style="background-color:#15116b"  frameborder="0" ></iframe>
    Tous fonctionne correctement quand la page charg�e est une page html comme celle qui est charg� quand on acc�de � la page index du site mais lorsque c'est une autre page style blog (worldpress) ou formulaire (style jotform) la page ne s'adapte plus, au contraire, elle r�tr�cit jusqu'� son minimum, comme ci l'iframe �tait vide ou elle reste � la taille de la page qui avait �t� charg� avant!

    Y aurait-il une autre solution pour que l'iframe s'adapte parfaitement quelques soit la page qui est charg� � l'int�rieur?

    Un petit coup de main serai le bienvenu !!

    Merci � tous
    Outrun

  2. #2
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    le document.all restreint l'utilisation du strict � IE, voir Opera.
    ensuite
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    monFrm.contentWindow.document.body.scrollHeight;
    pourquoi pas
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    monFrm.contentWindow.document.documentElement.scrollHeight;

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par d�faut
    Salut NoSmoking et merci pour ta r�ponse

    j'ai modifier la ligne de code par ce que tu me proposes mais cela ne change rien malheureusement.

    je ne comprend pas ce que tu veux dire par "le document.all restreint l'utilisation du strict � IE, voir Opera"

    Outrun

  4. #4
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    D�cembre 2010
    Messages
    1 009
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : sans emploi

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 1 009
    Par d�faut
    Citation Envoy� par outrun Voir le message
    Salut NoSmoking et merci pour ta r�ponse

    j'ai modifier la ligne de code par ce que tu me proposes mais cela ne change rien malheureusement.

    je ne comprend pas ce que tu veux dire par "le document.all restreint l'utilisation du strict � IE, voir Opera"

    Outrun
    Normal, pour des raison de s�curit�, tu n'as pas acc�s au contenu de frames de domaines diff�rents du tien. Et donc pas acc�s non plus � la taille du contenu.

  5. #5
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Citation Envoy� par outrun Voir le message
    je ne comprend pas ce que tu veux dire par "le document.all restreint l'utilisation du strict � IE, voir Opera"
    moi non plus d'ailleurs
    pour �tre exact je me suis laisser abuser par une indentation tr�s approximative.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function setHeight(){
      var hauteur; 
      var monFrm = document.getElementById('monIframe'); 
      if(document.all){
        hauteur = monFrm.contentWindow.document.body.scrollHeight;
      }else{
        hauteur = monFrm.contentWindow.document.body.offsetHeight + 20;
      }
      monFrm.setAttribute("height", hauteur); 	
    }
    l� c'est more mieux lisible.

    Comme le dit Willpower dont je salut le retour, si les pages � ins�rer dans l'IFRAME n'appartiennent pas au m�me domaine que la page contenant, tu n'auras pas acc�s aux propri�t�s des pages ins�r�es.

    tu peux essayer ce code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function setHeight(){
      var hauteur; 
      var monFrm = document.getElementById('monIframe'); 
      try(){
        if(document.all){
          hauteur = monFrm.contentWindow.document.body.scrollHeight;
        }else{
          hauteur = monFrm.contentWindow.document.body.offsetHeight + 20;
        }
        monFrm.setAttribute("height", hauteur); 	
      }catch(e){
        alert( e.message);
      }
    }

  6. #6
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 3
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function setHeight(){
      var hauteur; 
      var monFrm = document.getElementById('monIframe'); 
      try(){
        if(document.all){
          hauteur = monFrm.contentWindow.document.body.scrollHeight;
        }else{
          hauteur = monFrm.contentWindow.document.body.offsetHeight + 20;
        }
        monFrm.setAttribute("height", hauteur); 	
      }catch(e){
        alert( e.message);
      }
    }
    [/QUOTE]

    Salut NoSmoking

    Merci pour ton aide mais ton code affiche l'iframe figer sur environ 5 centim�tres de haut quelques soit la page qui est � l'interieur et dreamweaver me donne une erreur de syntaxe sur : try(){

  7. #7
    Membre chevronn� Avatar de nadox
    Homme Profil pro
    D�veloppeur
    Inscrit en
    F�vrier 2010
    Messages
    360
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : D�veloppeur
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : F�vrier 2010
    Messages : 360
    Par d�faut
    Bonjour,
    Il y a bien une erreur de syntaxe, une petite recherche t'aurais aid� � trouver que ne prends aucun param�tre. Ce n'est pas une fonction, mais une instruction du langage...
    Bref, enl�ve les parenth�ses.

    http://www.w3schools.com/js/js_try_catch.asp

  8. #8
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    tant pour moi !!!
    bien vue nadox, donc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function setHeight(){
      var hauteur; 
      var monFrm = document.getElementById('monIframe'); 
      try {  // sans parentheses
        if(document.all){
          hauteur = monFrm.contentWindow.document.body.scrollHeight;
        }else{
          hauteur = monFrm.contentWindow.document.body.offsetHeight + 20;
        }
        monFrm.setAttribute("height", hauteur); 	
      }catch(e){
        alert( e.message);
      }
    }

Discussions similaires

  1. lien dans un iframe qui ne s'ouvre pas sous IE6
    Par nixonne dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 0
    Dernier message: 16/12/2009, 11h34
  2. div qui ne s'adapte pas � la taille de l'image contenue
    Par Invit� dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 24/05/2009, 22h33
  3. la tag table dans la page de mon iframe qui ne s'affiche pas sous IE
    Par witch dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 0
    Dernier message: 20/01/2008, 15h44
  4. [C#] Trace qui ne s'affiche pas toujours.
    Par vin100H dans le forum ASP.NET
    R�ponses: 2
    Dernier message: 17/08/2007, 08h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo