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 :

[javascript] Redimension IFrame avec un frameset


Sujet :

JavaScript

  1. #1
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut [javascript] Redimension IFrame avec un frameset
    Salut,

    J'ai actuellement une IFrame qui se redynamise sans problemes avec une page normale. J'ai cependant une de mes pages qui n'a pas de body, et je redimensionne par rapport a mon body :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function size(){
     
    var nHauteur = document.getElementById("ifrm").contentWindow.document.body.scrollHeight;
    document.getElementById("ifrm").style.height = nHauteur;
     
    var nLargeur = document.getElementById("ifrm").contentWindow.document.body.scrollWidth;
    document.getElementById("ifrm").style.width = nLargeur;
     
    }
    La page qui pose probleme possede un frameset à la place du body. Est-il possible d'adapter ce code pour qu'il se redimensionne aussi lors de l'appel a une page contenant un frameset ?
    merci

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    salut,
    il me semble que tu peux faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.cols = "67%, *";
    il y a aussi rows bien sur
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    Merci de ta réponse, mais le probleme n'est pas de redéfinir la taille du frameset, mais de récupérer cette taille pour justement redimensionner l'iframe

    merci

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ah ben recupère les frames qu'il y a dedans et tu additionne leurs tailles ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    donc je récupère comment la taille ?

    Actuellement je redimensionne mon iframe en allant chercher la taille du body. Comment je récupere les frame du frameset en javascript ?

    merci

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben quand t as le window, tu as la collection frames. ensuite, document.....
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    J'ai tenté ça, mais ca ne fonctionne pas (je suis débutant au fait, oublié de mettre dans le titre) : (tab et tit sont les id des 2 frames)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var nHauteur = document.getElementById("ifrm").contentWindow.document.body.scrollHeight;
    nHauteur = nHauteur + document.getElementById("ifrm").contentWindow.Frames['tit'].document.body.scrollHeight + document.getElementById("ifrm").contentWindow.Frames['tab'].document.body.scrollHeight;
    document.getElementById("ifrm").style.height = nHauteur;
     
    var nLargeur = document.getElementById("ifrm").contentWindow.document.body.scrollWidth;
    nLargeur = nLargeur + document.getElementById("ifrm").contentWindow.Frames['tit'].document.body.scrollWidth + document.getElementById("ifrm").contentWindow.Frames['tab'].document.body.scrollWidth;
    document.getElementById("ifrm").style.width = nLargeur;
    Une tchote aide ?

    merci

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    JavaScript est case sensitive, frames donc et pas Frames
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    corrigé, mais toujours pas fonctionnel
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

  10. #10
    Membre émérite
    Avatar de mavina
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    1 812
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 812
    Points : 2 411
    Points
    2 411
    Par défaut
    voici la solution pour ceux qui auraient le meme probleme, je viens de trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    var nHauteur = document.getElementById("ifrm").contentWindow.document.body.scrollHeight;
    if(document.getElementById("ifrm").contentWindow.frames['tit'] !=null) {
      if (document.getElementById("ifrm").contentWindow.frames['tit'].document.body.scrollHeight >= document.getElementById("ifrm").contentWindow.frames['tab'].document.body.scrollHeight) {
        nHauteur = document.getElementById("ifrm").contentWindow.frames['tit'].document.body.scrollHeight;
      }else {
        nHauteur=document.getElementById("ifrm").contentWindow.frames['tab'].document.body.scrollHeight ;
        } 
      }
      document.getElementById("ifrm").style.height = nHauteur;  
     
     
    var nLargeur = document.getElementById("ifrm").contentWindow.document.body.scrollWidth;
    if(document.getElementById("ifrm").contentWindow.frames['tit'] !=null) {
      if (document.getElementById("ifrm").contentWindow.frames['tit'].document.body.scrollWidth >= document.getElementById("ifrm").contentWindow.frames['tab'].document.body.scrollWidth) {
        nLargeur = document.getElementById("ifrm").contentWindow.frames['tit'].document.body.scrollWidth;
      }else {
        nLargeur=document.getElementById("ifrm").contentWindow.frames['tab'].document.body.scrollWidth ;
        } 
      }
      document.getElementById("ifrm").style.width = nLargeur;
    Bioen à vous, et merci encore

    Fred
    Développeur Java / Flex à Shanghai, Chine
    mes publications
    Mon dernier tutoriel : Messages Quit IRC : explications

    La rubrique IRC recrute des redacteurs : contactez moi

    Ce flim n'est pas un flim sur le cyclimse. Merci de votre compréhension.[/SIZE]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Écrire dans une iframe avec JavaScript
    Par prilix dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/03/2015, 09h26
  2. Fermeture LightBox IFrame avec Javascript = Lenteur
    Par leymiris dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2010, 19h15
  3. [DOM] lire le contenu d'une frame/iframe avec javascript
    Par Kyaan dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/02/2008, 18h24
  4. onblur sur iframe avec Mz and co.
    Par mch_27 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/01/2006, 16h11
  5. Réponses: 2
    Dernier message: 20/08/2005, 19h23

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