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 :

Cadres et fenêtres


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Cadres et fenêtres
    Bonsoir, voila, je vous expose mon problème:

    Je voudrais que l'orsque "iframe" se charge, "cadre 1" se transforme sans que "cadre 2" ne change d'aspect car mon menu se trouve sur "cardre 2". (voir dessin)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ------------
     cadre 1
    ------------
      --------
     | iframe |
      --------
     
     cadre 2
    ------------
    j'ai trouvé ce sript trouvé ici sur le forum:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    function afich_titr2() {
    chj=parent.frames[0].location.href
    it=chj.indexOf("frame");
    chjl=chj.length
    if ((chj.substring(it,chjl)) !="frame_du_haut.htm"){
    parent.frames[0].document.close()
    parent.frames[0].location.href="frame_du_haut.htm"}}
    </script>
    J'ai essayé de bidouiller la valeur "parent.frames[0]", mais je n'arrive pas à trouver celle qui correspond à mon "cadre 1" (pourtant j'ai essayé bon nombre de combinaisons avec: parent. top. self. window. .frames[0][1][2]...)

    Il existe la solution de remplacer mon "iframe" par un cadre classique comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    -----------
     cadre 1
    -----------
    |c|  c  |c| ("cadre 1" et "4" changent en fonction
    |a|  a  |a|  du menu sur "cadre 2")
    |d|  d  |d|
    |r|  r  |r|
    |e|  e  |e|
    | |     | |
    |3|  4  |5|
    -----------
     cadre 2
    -----------
    Mais je trouve qu'il y à bien assez de bordel sur mon site comme ça et je ne veux plus rajouter de cadres... Comment pourais-je faire ? Peut être qu'il est possible de changer les propriétés de "cadre 1" au chargement d'"iframe" ? A moins de remplacer "cadre 1" par un calque qui pourait être modifié lui aussi par "iframe"?

    Je ne sait plus que faire, quelqu'un aurait-il une idée ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    à priori, si la modification doit venir de iframe sur cadre1, je dirais que le truc à mettre est tout simplement, sans frames, ni rien d'autre...

    mais tu risques d'avoir un sale bug, à cause du close(), essaie de l'annuler, p.e. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script>
    function afich_titr2() {
    chj=parent.location.href;
    it=chj.indexOf("frame");
    chjl=chj.length;
    if ((chj.substring(it,chjl)) !="frame_du_haut.htm"){
    parent.frames[0].location.href="frame_du_haut.htm";
    }
    </script>
    PS : la fonction contenait pas mal d'erreurs, pas de ;, des } au lieu de ) ou autre, c'est modifié...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci, je vait tester ça au plus vite, je vous tient au courant...

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    j'ai oublié d'enlever un frames[0] dans la fonction, voici la bonne dsl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script>
    function afich_titr2() {
    chj=parent.location.href;
    it=chj.indexOf("frame");
    chjl=chj.length;
    if ((chj.substring(it,chjl)) !="frame_du_haut.htm"){
    parent.location.href="frame_du_haut.htm";
    }
    }
    </script>
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    bah, je vient d'essayer ta nouvelle fonction Swoög, mais ça marche toujours pas...

    Les valeurs qu'il faut modifier pour agir sur différents cadres se trouvent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script>
    function afich_titr2() {
    chj=parent.location.href;     <--- ici
    it=chj.indexOf("frame");
    chjl=chj.length;
    if ((chj.substring(it,chjl)) !="frame_du_haut.htm"){
    parent.location.href="frame_du_haut.htm";     <--- et ici
    }
    }
    </script>
    faut bien les modifier en même temps si j'ai bien compris.

    Bah, je sait pas, je vait manger et on reprendra plus tard... (d'après Webmaster in a nutshell, un bouquin, ce qui corepondrait le mieux ce serait "top.frames[0]" ou plus simplement "top.")

  6. #6
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    le mieux semblerait être top.frames[0], certes, tout dépend si tu veux atteindre - le parent (contenant) de ton iframe (parent.)
    - la frame définie en premier dans le plus haut frameset retrouvable pour l'affichage en cours... (top.frames[0])
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 4
    Points : 2
    Points
    2
    Par défaut problème résolu
    Comme quoi une bonne soupe de navets sait porter conseils, la fonction fonctionne, c'était bien "top.frames[0]." qu'il fallait utiliser.

    Merci beaucoup de ton aide Swoög et surement à bientôt !

    (et bonne chance à tout les dévellopeurs réunis sur cet excellent forum et autres aussi...)

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    De rien et à bientôt sûrement

    au fait, pour montrer que ton problème est résolu, clique sur le petit en bas à gauche (ou le mien et aussi valide )
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

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

Discussions similaires

  1. [WD15] Fenêtre cadre simple redimensionnable
    Par peijnoob dans le forum WinDev
    Réponses: 7
    Dernier message: 05/08/2010, 11h12
  2. fenêtre popup sans cadre navigateur
    Par laurentSc dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/12/2009, 16h04
  3. Ouverture fenêtre à l'intérieur du cadre actif
    Par Trebor_ dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/03/2008, 18h00
  4. Ouverture fenêtre à l'intérieur du cadre actif
    Par Trebor_ dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 12/03/2008, 14h33
  5. TCPPWebBrowser: supprimer cadre autour de la fenêtre
    Par Cederic dans le forum C++Builder
    Réponses: 4
    Dernier message: 19/02/2008, 14h07

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