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

jQuery Discussion :

history.length sous IE


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Par défaut history.length sous IE
    Bonjour,

    Dans le cadre d'un projet site web réalisé par mon entreprise, on me demande d'ajouter un bouton "précédent" sur certaines pages du site. Le bouton doit avoir le même comportent que le bouton "précédent" d'un navigateur web. Ce besoin est dû au fait que certains utilisateurs n'ont pas la barre des menus en haut en accédant au site. J'utilise la fonction history.back() pour cela, jusque là rien de compliqué. Le problème est que ce bouton ne doit être pas être visible quand le bouton précédent du browser est déactivé (par exemple en ouvrant un nouvel onglet).
    Pour cela, je définis la visibilité de mon bouton comme hidden et je le rend visible en cas de besoin.
    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
     
    <img id= "back-button" style = "visibility: hidden;" src= "../backArrow" onclick= "history.back();">
     
    <script type="text/javascript">
    	$(document).ready(function() {
    		if ( $.browser.msie )  {
    			if(history.length > 0 ){
    				$("#back-button").attr("style","visibility: visible;");
    			}
    		} else {
    			if(history.length > 1 ){
    				$("#back-button").attr("style","visibility: visible;");
    			}
    		}
    	 }
    	);
    </script>
    history.length commence à 0 avec IE et à 1 avec Firefox et Chrome.

    Ce code marche bien avec Firefox et Chrome, sauf qu'avec IE, history.length augmente à chaque clic sur le back-button (ainsi qu'en cliquant sur le bouton précédent du browser). Donc imaginons le scénario suivant sous IE:
    -L’utilisateur ouvre un nouvel onglet A -> history.length = 0
    -Dans le même onglet, l’utilisateur ouvre une nouvelle page B -> history.length = 1
    -L’utilisateur clique sur le back-button, il est renvoyé vers la page A mais le back-button est visible puisque history.length = 2.

    Auriez-vous des solutions à me proposer? J’espère avoir été clair.
    Merci d'avance pour votre aide.

  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
    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
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 5
    Par défaut
    Je ne trouve pas de réponse à ma question dans ce lien (dont je me suis inspiré pour détecter le browser du client).

    P.S : Désolé de m’être trompé sur l'emplacement du sujet.

  4. #4
    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
    Heu ben teste le history length suite au test du browser ...
    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 !

Discussions similaires

  1. redirection avec history.go(-1) au chargement sous IE
    Par dercom dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2011, 09h44
  2. History.back() non fonctionnel sous Firefox
    Par Guillaume_Caldera dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/10/2009, 16h41
  3. Max Length des champs sous SQL server
    Par snach dans le forum Développement
    Réponses: 6
    Dernier message: 25/03/2009, 16h42
  4. window.history.forward() ne fonctionne pas sous FF
    Par khokho dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/01/2007, 18h01
  5. javascript:history.go qui ne marche pas sous IE
    Par fpouget dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 23/09/2005, 08h23

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