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 :

Bien utiliser la m�thode history.back() dans une iframe


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par d�faut Bien utiliser la m�thode history.back() dans une iframe
    Bonjour,

    J'essaie de controler le contenu d'une iframe avec des boutons pr�c�dent/suivant qui se situent � l'ext�rieur de l'iframe.
    Au clic sur "pr�c�dent", cette fonction est appel�e :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    function contenu_precedent() {
    	frames['iframe_supp'].window.history.back();
    }
    Probl�me : lorsque je clique sur "pr�c�dent" alors qu'il n'y a pas de page pr�c�dente dans l'iframe, ma page se recharge.
    Pourquoi, et comment l'�viter ?

    Merci.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    je dirais qu'au dela de �a la bonne methode serait de ne pas utiliser d'iframe ...

    mais bon

    essaye ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    function contenu_precedent() {
    	frames['iframe_supp'].history.back();
    }
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Eventuellement, en testant le length :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function contenu_precedent() {
        if(frames['iframe_supp'].history.length){
            frames['iframe_supp'].history.back();
        }
    }
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre confirm�
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    essaye ceci:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    function contenu_precedent() {
    	frames['iframe_supp'].history.back();
    }
    Ca ne change rien : la page se rafraichir quand m�me.

    Bovino : justement, ce history.length (m�me celui de mon iframe) n'est pas nul, m�me si il n'y a aucune page pr�c�dente sur mon iframe. En fait, le "history" de l'iframe inclut le "history" de ma page globale. Bizarre...

    D'autres suggestions ? Merci en tout cas pour vos propositions.

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    function contenu_precedent() {
        if(frames['iframe_supp'].history.length > 1){
            frames['iframe_supp'].history.back();
        }
    }
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirm�
    Profil pro
    aaaaa
    Inscrit en
    Novembre 2006
    Messages
    178
    D�tails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : aaaaa

    Informations forums :
    Inscription : Novembre 2006
    Messages : 178
    Par d�faut
    Ben... Non : tu as peut-�tre mal interpr�t� ce que j'ai �crit.
    Disons que je veuille faire "pr�c�dent" sur mon iframe, alors que c'est la premi�re page que je visite dessus. Par contre, avant d'aller sur ma page globale, j'ai visit� 16 pages. Et bien, le "history.length" de l'iframe est �gal � 16. Donc si je teste :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if(frames['iframe_supp'].history.length > 1){
            frames['iframe_supp'].history.back();
        }
    Ce sera tout le temps vrai, � moins que je n'aie visit� aucune page avant ma page globale.

Discussions similaires

  1. Utiliser propri�t� de mon objet dans une m�thode callback ?
    Par StringBuilder dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 19/11/2014, 10h08
  2. Utiliser une m�thode non-static dans une m�thode static
    Par mcfly37 dans le forum D�buter avec Java
    R�ponses: 3
    Dernier message: 18/08/2010, 11h41
  3. Lancer history.back() dans une frame
    Par Cartouche dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 14/12/2007, 12h06
  4. Utilisation des m�thodes de classe dans une autre classe
    Par ChriGoLioNaDor dans le forum C++
    R�ponses: 4
    Dernier message: 28/07/2007, 15h10
  5. R�ponses: 4
    Dernier message: 03/03/2004, 11h04

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