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 :

Lancer history.back() dans une frame


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 20
    Points
    20
    Par défaut [abandonné]Lancer history.back() dans une frame
    Bonsoir
    voilà ce que je souhaite faire : j'ai une page html composée de plusieurs frames
    dans la première je voudrais lancer history.back(), mais que celle ci s'ouvre dans une autre frame
    j'ai tenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <A  target=FRAME2 HREF=javascript:FRAME2.history.back() >Le Lien</A>
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames["FRAME2"].window.location=history.back();
    mais la page s'ouvre sur toute la page entière et les frames disparaissent
    vous auriez une idée ?

  2. #2
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    salut !
    tout d'abord faudrait penser aux quotes lorsque tu est dans une propriété du genre javascript:function(); souvent ça pose problème. sinon essaie le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    href="javascript:nom_frame.history.go(-1)"
    ;
    une alternative serait cependant de créer, dans le frame concerné, une fonction fonction() qui se chargera d'effectuer le history.back() et de l'appeller grace à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "javascript:nom_frame.fonction()"
    .
    ++
    Que votre situation soit bonne ou mauvaise, cela va changer...

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Salut et merci de ton aide
    malheureusement ces solutions permettent bien d'ouvre la page précédente, mais dans la page entière et non dans ma frame

  4. #4
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    salut !
    je t'envoie comme ça un code qui fonctionne très bien chez moi ; peut-être décteras-tu ce qui cloche avec le tien
    page principale (index.html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    	<head>
    	<script>var i;</script>
    	</head>
    	<frameset cols=70%,30%>
    		<frame src=page1.html name=frame1>
    		</frame>
    		<frame src=page2.html name=frame2>
    		</frame>
    	</frameset>
    </html>
    page 1 (page1.html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html>
    		<body>
    							<a href=page3.html target=_self>lien</a>
    	</body>
    </html>
    page 2 (page2.html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html>
    		<body>
    							<a href="javascript:parent.frame1.history.go(-1)">precedent</a>
    	</body>
    </html>
    page 3 (page3.html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html>
    		<body>
    							page 3
    	</body>
    </html>
    si tu cliques sur le lien de la première page, la page 3 s'affiche ;
    en cliquant sur précédent dans l'autre frame, la page 1 se recharge dans le frame 1 et non dans la frame principale. Il me semble que c'est le résultat escompté.
    ++
    Que votre situation soit bonne ou mauvaise, cela va changer...

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Merci de me consacer autant de temps !
    alors j'ai essayé ton exemple, qui se rapproche fort du miens d'alleurs
    et effectivement, si on clique sur "lien", puis sur suivant, ça fonctionne
    mais ça ne fonctionne pas pour les pages précédentes de la page index.html

    par exemple, je vais sur google.fr, puis sur index.html et je clique sur suivant, résultat : la page google s'ouvre dans la page entière et non dans la frame de gauche.
    J'ai bien cherché et j'ai l'impression que ce que je demande est impossible..

  6. #6
    Membre éclairé Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Points : 718
    Points
    718
    Par défaut
    salut !
    la page google... dans quelle frame se situe-elle?
    because si c'est dans la frame principale alors le history.go(-1) de la frame 1 est undefined ; ce qui explique peut-être le chargement de la page google dans le _top. si tu veux charger la page précédente de la frame principale dans la frame 1 tu devras faire plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript:parent.history.go(-1)" target=frame1>precedent</a>
    mais cette solution ne marchera pas ; en effet, le history.back() concerne la fenêtre et non la page qu'elle contient. par conséquent tu pourras au mieux récupérer l'url de la page précédente et la charger dans la frame1 (le résultat n'est pas celui escompté because normalement le history.back() n'effectue pas de refresh, tandisque cette solution consisterait à recharger la page...)
    ton exercice revient à charger dans une fenêtre la page précédente d'une autre fenêtre...
    ++
    Que votre situation soit bonne ou mauvaise, cela va changer...

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 33
    Points : 20
    Points
    20
    Par défaut
    Ok c'est bien ce que je pensais ..
    je te remercie de ton aide en tous cas.

Discussions similaires

  1. Bien utiliser la méthode history.back() dans une iframe
    Par brunoperel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/08/2009, 12h13
  2. [flash] ouvrir une page dans une frame différente
    Par viena dans le forum Intégration
    Réponses: 6
    Dernier message: 01/08/2007, 15h54
  3. faire apparaitre et disparaitre un panel dans une frame
    Par Ghost Dog dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 22/04/2005, 01h55
  4. Réponses: 6
    Dernier message: 21/03/2005, 13h22
  5. [servlet][JSP]forwarder dans une frame
    Par deldin dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/06/2004, 18h03

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