Partage
  • Partager sur Facebook
  • Partager sur Twitter

Différence bouton précédent et history.back()

    22 juin 2011 à 11:02:13

    Bonjour,

    Grâce à un cas particulier je viens de m'apercevoir que le bouton précédent du navigateur internet(en l'occurrence Firefox), et le type de bouton que l'on peut créer en javascript grâce à history.back() ou encore history.go(-1), sont différents.
    J'aimerais comprendre cette différence, et si possible trouver une solution au problème que voici:


    Lors de la navigation sur une page du site(appelons la page0), un lien m'ouvre une pop-up contenant des informations(appelons la page1). Depuis cette pop-up un bouton me permet de fermer la pop-up, et de charger dans la page principale une nouvelle page(page3).

    J'ai inséré sur la page3 un bouton de retour utilisant history.back()(j'ai aussi essayé avec history.go(-1)) et me permettant de revenir en arrière. Ce bouton qui marche sans soucis dans les autres pages, pose ici problème, car une fois activé il me rouvre la page2(celle qui au départ était ouverte dans une pop-up) dans la page principale, et non la page1. Tandis que lorsque je suis sur la page3, si je clique sur le bouton précédent du navigateur, il me ramène bien à la page1(ce que j'attends de sa part).


    Est ce que quelqu'un comprend/connaît la différence entre ces deux éléments censés effectuer le même travail? Quelqu'un aurait-il une solution?

    D'avance merci de vos réponses =)
    • Partager sur Facebook
    • Partager sur Twitter
      22 juin 2011 à 11:09:55

      Le bouton retour du navigateur se base sur l'historique de l'onglet courant uniquement (et une fenêtre peut avoir plus d'un onglet). alors que quand tu te base sur l'historique global, tu voiot tous les historiques d'onglets mélangés.

      Je ne connais malheureusement pas assez ces objets JS pour en dire plus...
      • Partager sur Facebook
      • Partager sur Twitter
        22 juin 2011 à 12:31:48

        xavier : et si le -2 lui aussi appartient à l'historique de la pop-up, tu vas faire -3 ? On peut tourner en rond indéfiniement comme ça. :p

        Il faut trouver comment le navigateur fait pour séparer les listes d'historique. Alors seulement on pourra accéder à l'historique de notre onglet.
        • Partager sur Facebook
        • Partager sur Twitter
          22 juin 2011 à 12:49:28

          Citation : xavierm02

          history.go( -2 );
          


          ?



          Impossible sur le site présent. Je modifie un site utilisant des templates pour un tas de raison. Et le template principal rajoute entre autre un "bouton retour" sur toutes les pages, donc si je met un history.go(-2) pour ce cas particulier, ça "cassera" tous les autres cas d'utilisation normaux.

          Il me faudrait donc réussir à faire le même traitement que le bouton précédent du navigateur comme le souligne Darth Killer.
          • Partager sur Facebook
          • Partager sur Twitter

          Différence bouton précédent et history.back()

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown