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

AJAX Discussion :

[AJAX] rétablir les boutons navigateur Précedent et Suivant


Sujet :

AJAX

  1. #1
    Membre habitué

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Points : 197
    Points
    197
    Par défaut [AJAX] rétablir les boutons navigateur Précedent et Suivant


    sur un nouveau projet d'appli web, j'ai une contrainte super lourde : y'a une applet java dans la page et il est indispensable d'eviter de la recharger. Cad qu'il faut éviter de recharger la page.

    donc mon 1er reflexe a été de subvertir ajax pour ne pas recharger la page, mais recharger des morceaux de html (c'est bon ca marche).

    Le probleme c'est que si je fais la navigation suivante
    1. aller sur google.fr
    2. aller sur mon appli (la page se charge, l'applet aussi)
    3. cliquer un lien de l'appli (qui lance une requete javascript qui me recharge un bout de html)
    4. cliquer sur un autre lien (là encore ca me recharge un bout de page, l'applet continue tjs à tourner, tout va bien)
    5. je clique sur le bouton précédent du navigateur (testé avec firefox...)
    ==> paf ca me ramène sur google.

    forcément diront certains avec raison : seulement 2 pages ont été chargées !


    pourtant si je regarde gmail, à en regarder le flux réseau sous firebug, c'est que de l'ajax et pourtant les boutons suivant et précédent du navigateur fonctionnent comme attendu.

    j'ai pensé à trois options
    1. oublier ajax et faire un bon vieux frameset des familles. dans le 1er frame je mets l'applet java, dans l'autre je mets l'appli web. ensuite toute la navigation se passe dans ce cadre. lorsque je recharge le cadre de l'appli web via des liens normaux <a href="listTruc.php?id=234">afficher 234</a> l'applet n'est pas déchargée et continue à tourner normalement
    ==> ca devrait marcher non ?

    2. stocker dans javascript l'historique des commandes effectuées et mettre des boutons "Précédent" et "Suivant" sur ma page qui émulent le comportement du navigateur
    ==> je trouve ca completement contre-intuitif, mais au moins je suis sur que ca va marcher

    3. faire comme #2 sauf qu'au lieu de mettre des boutons précédent/suivant, je trouve un moyen de capturer les évènements "Précédent/Suivant" du navigateur, j'empeche le reload de page et je lance mon javascript à la place
    ==> d'intuition je le sens pas ce plan... mais bon, on sait jms pe qqn a déjà tenté le coup

    qqn a une idée ? comment ils font dans gmail ?


  2. #2
    Membre habitué

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Points : 197
    Points
    197
    Par défaut
    http://javascript.developpez.com/faq...tecterSuivPrec

    => déjà en relisant la faq je m'aperçois que je peux oublir le plan 3...

    ca fait déjà un de moins...

    (je sens le spectre des frameset se rapprocher dangereusement... )

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par fourchette Voir le message
    donc mon 1er reflexe a été de subvertir ajax pour ne pas recharger la page, mais recharger des morceaux de html (c'est bon ca marche).
    Juste une remarque : ce n'est pas "subvertir" ajax, c'est précisément son schéma typique de fonctionnement, et même sa raison d'être ^^

    Pour le problème particulier que tu te poses, je suis presque certain qu'il y a de meilleures options que de passer par un frameset, mais n'en sachant pas suffisamment sur ce point, je préférerai m'abstenir...

  4. #4
    Membre habitué

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Points : 197
    Points
    197
    Par défaut
    vas-y romain, suggère toujours

    je suis en train de creuser les iframe, mais là comme ca sur mes 1ers essais, le display a l'air un peu naze (taille du iframe figée indépendante du contenu affiché...)

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par fourchette Voir le message
    vas-y romain, suggère toujours
    Non je me suis mal exprimé

    >>> Je n'ai pas de solution à proposer*. Ce que je veux dire, c'est qu'il me semble très improbable que les frames soient la seule solution pour règler ce genre de problème, et je vois mal google (pour reprendre ton exemple) utiliser ces vieilleries de frameset () pour implémenter leur webmail ^^

    * par contre, j'avoue que je vais suivre cette discussion parce que je me suis posé plusieurs fois la question, et j'ignore quelle est la meilleure solution pour ce genre de choses (ça me servira même directement pour un projet en cours, d'où mon intérêt pour la question...)

  6. #6
    Membre habitué

    Inscrit en
    Février 2004
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 342
    Points : 197
    Points
    197
    Par défaut
    les iframe m'ont eu :'(

    mais bon si qqn a eu une idée entre temps... pk pas

Discussions similaires

  1. [AJAX] Ajax et les boutons sociaux
    Par cevantime dans le forum jQuery
    Réponses: 0
    Dernier message: 21/01/2013, 12h26
  2. Réponses: 7
    Dernier message: 07/04/2011, 09h35
  3. Réponses: 5
    Dernier message: 07/07/2009, 15h20
  4. [Dojo] AJAX et les boutons.
    Par Minority dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 02/09/2007, 11h04
  5. Masquer les boutons Précedent/Suivant
    Par Addouna dans le forum Struts 1
    Réponses: 5
    Dernier message: 02/11/2006, 14h38

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