Partage
  • Partager sur Facebook
  • Partager sur Twitter

ouvrir une reponse ajax dans une nouvelle fenetre

sauvegarder l'etat d'une page générée par ajax

Sujet résolu
    22 mars 2011 à 16:34:17

    Salut salut tout le monde,
    j'ai un petit soucis.
    Je développe une application web, qui est très basée sur AJAX/jQuery
    J'aimerais avoir la possibilité de sauvegarder l'etat d'une page (surtout le lien) apres qu'elle ait été generée.
    La principale fonction ajax est la suivante:

    function callAjax(page_url, pageElement, callMessage, errorMessage,
    		mainContent, searchAttribut) {
    
    	$('#' + pageElement).empty().html("<img src='images/loader.gif' />" + callMessage);
    
    	$.ajax( {
    		async : true,
    		url : page_url,
    		context : document.getElementById(pageElement),
    		type : "get",
    		cache : false,
    		beforeSend : function(xhr) {
    			xhr.onreadystatechange = function() {
    				if (mainContent == true) {
    					showFieldsets();
    					loadSearchResult(searchAttribut);
    				}
    			};
    		},
    		error : function() {
    			$('#' + pageElement).empty();
    			document.getElementById(pageElement).innerHTML = errorMessage;
    		},
    		complete : function() {
    				if (mainContent == true) {
    					showFieldsets();
    					loadSearchResult(searchAttribut);
    				}
    				
    				
    		},
    		dataType : "html",
    	success : function(data) {
                    $('#' + pageElement).empty();
    		$('#' + pageElement).html(data);
    	}
    	});
    
    }
    


    Je voudrais ainsi par exemple pouvoir utiliser les boutons <precedent> et <suivant> du browser,
    ou meme ouvrir un lien-ajax dans une nouvelle fenetre.

    J'ai lu un peu jQuery.adress (http://www.asual.com/jquery/address/docs/), mais je n'ai pas pu resoudre mon probleme avec.

    Merci pour toute aide!
    • Partager sur Facebook
    • Partager sur Twitter
      23 mars 2011 à 1:21:54

      Juste une chose: Explicite!

      Citation

      J'aimerais avoir la possibilité de sauvegarder l'etat d'une page


      Qu'est ce que tu entend par là?

      Citation

      Je voudrais ainsi par exemple pouvoir utiliser les boutons <precedent> et <suivant> du browser,
      ou meme ouvrir un lien-ajax dans une nouvelle fenetre.


      Dis, tu peux m'expliquer?
      • Partager sur Facebook
      • Partager sur Twitter
        24 mars 2011 à 9:16:59

        Hey Hellish!
        Comme je l'ai dis, l'application est basée sur AJAX. Ce qui veut dire que les boutons <precedent> et <suivant> du browser sont mis hors fonction. En cliquant sur un lien, la page s'actualise; il n'existe alors pas la possibilité d'ouvir la page exactement avec le contenu actuel!
        Tu me comprends?
        • Partager sur Facebook
        • Partager sur Twitter
          24 mars 2011 à 14:56:25

          Si j'ai bien compris, ta page charge les données en elle même et les liens ne mènent pas vers d'autres pages.

          Pour garder l'état de la page, il faut se tourner vers les cookies. un cookie contient les informations nécessaire à la page.
          exemple: un cookie contient cette suite de chiffres: 1 0 2

          Premier élément correspond au premier état. on peut prendre par exemple 0 -> accueil , 1 -> news , 2 -> galerie etc...

          Deuxième élément correspond à la deuxième état par exemple 0 -> par défaut , 1->commenter ...

          Et ainsi de suite. ce n'est qu'un algorithme auquel je viens de penser. Tu peux l'adobter si tu veux.
          Dans notre exemple ce qui sera affiché est donc la page news par défaut.

          Tu n'a qu'à faire les traitement en fonction du contenu du cookie.
          Pour découper le contenu du cookie utilise les fonctions tel que split ...


          Edit: une autre idée m'est venu à l'esprit: tout simplement du met un nombre (un seul cette fois) dans le cookie, et ce nombre correspond à une page bien détérminée. A toi de faire le reste :)

          Edit2:Tu dis aussi "ouvrir une requete ajax dans une nouvelle fenêtre". Tu entends par là un pop up ?
          Si t'as besoin d'aide n'hésite pas ;)
          • Partager sur Facebook
          • Partager sur Twitter

          ouvrir une reponse ajax dans une nouvelle fenetre

          × 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