Problème jQuery-history et jQuery

Problème jQuery-history et jQuery - HTML/CSS - Programmation

Marsh Posté le 23-02-2010 à 18:58:11    

Bonjour à tous,
 
Je développe un site web en Ajax.
 
Mais lorsque je souhaite faire "précédent" ou "suivant" avec les touches du navigateur, je suis directement dirigé hors du site...   :fou:  
 
J'ai alors trouvé une piste du coté des Frameworks jQuery et jQuery-History qui me permettent d'ajouter une sorte d'ancre et donc de changer l'url de mon site sans charger la page entièrement (ex: "ma_page#1"). Le changement de "div" marche à merveille!
 
Le problème, c'est qu'il faut que j'arrive à faire passer des variables PHP pour des futures traitement. C'est là que ça bloque... Je ne sais pas comment faire pour envoyer ces variables... J'essaie désespérément de les faire passer par l'url.  :sweat:  
 
 
Voici le script JavaScript (inséré dans la balise "<head>" ) avec lequel je charge les "div".

Code :
  1. // On inclut la bibliotheque Jquery  
  2. <script type="text/javascript" src="jquery.js"></script>
  3. <script type="text/javascript" src="jquery-history.js"></script>
  4. <script type="text/javascript">
  5. function pageload(hash) {
  6.   // hash ne contient plus le premier caractère #
  7.   if(hash) {
  8.    /* Traintement de l'ancre */
  9.    if($.browser.msie) {
  10.  hash = encodeURIComponent(hash);
  11.    }
  12.    // "#corps" est le div a rafraichir. tabChaine[0] et [1]  contiennent les variables à passer par la méthode GET
  13.    $("#corps" ).load(hash + ".php?tabChaine[0]&tabChaine[1]" );
  14.   }
  15.   else {
  16.    // start page
  17.    $("#corps" ).empty();
  18.   }
  19. }
  20. $(document).ready(function(){
  21.   // Initialize history plugin.
  22.   // The callback is called at once by present location.hash.  
  23.   $.historyInit(pageload);
  24.   // Sélection de tous les liens "a" ayant l'attribut rel égal à history (valeur arbitraire)
  25.   $("a[rel='history']" ).click(function(){
  26.    //Suppression du mot clé history, pour que les liens ne soient surchargés qu'une seule fois
  27.    this.rel = this.rel.replace(/history/, '');
  28.    // Mise à jour de l'ancre
  29.    hash = this.href;
  30.    //On récupère les paramètres passés par l'url. Chaque "~" sépare un paramètre.
  31.    parametre = hash.split('~');
  32.  
  33.    //Permet de garder seulement l'url de la page, sans les paramètres
  34.    tabChaine=hash.split('#');
  35.    hash = tabChaine[1].split('~')[0];
  36.    // Chargement dans l'historique et appel de pageload
  37.    $.historyLoad(hash);
  38.    // Désactivation du clic du lien "a"
  39.    return false;
  40.   });
  41. });
  42. </script>


 
Je fais un lien "<a>" dans la même page, dans la balise "<body>"

Code :
  1. <a rel="history" href="#promotions~idPromotion=2~idProduit=1" />


 
En gros, j'arrive à récupérer les variables idPromotion et idProduit dans le code JS mais je n'arrive pas ensuite à les faire passer par l'url du div à charger...
 
Si une âme charitable veut bien m'éclaircir, ce serait formidable  :)  et je la remercie d'avance!
 
Miaks

Reply

Marsh Posté le 23-02-2010 à 18:58:11   

Reply

Marsh Posté le 24-02-2010 à 06:21:46    

:hello:
 
je n'ai pas de reponse, mais le sujet m'interesse
 
drapal, donc
 
:jap:
 
PS : desole pour les accents.... clavier anglais

Reply

Marsh Posté le 24-02-2010 à 13:07:06    

Sa fait quand même plaisir de voir que des personnes s'intéressent au sujet :).
 
Si jamais tu as une piste, je suis preneur :p.
 
Bonne journée.

Reply

Marsh Posté le 07-03-2010 à 14:06:02    

Toujours rien... Je commence à désespérer.
Mais je perds pas espoir :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed