Partage
  • Partager sur Facebook
  • Partager sur Twitter

Changer le contenu d'une div en sauvegardant l'url

    19 décembre 2010 à 14:43:46

    Bonjour,

    je suis actuellement le webmaster d'un serveur privé world of warcraft. Je compose un nouveau site, malheureusement, on me demande de faire un site dit dynamique, et donc de faire changer les contenu de la page sans pour autant rafraichir celle-ci. Le script de son coté est bon, le contenu de notre block se change correctement, l'url se modifie seul grace aux liens, mais lorsque l'on rafraîchi la page, le contenu par défaut réapparait, et lorsque que l'on effectue un retour en arrière ou encore un suivant, c'est le contenu chargé grace au lien qui ne change plus.

    Voici le code javascript utilisé :
            // here we define global variable
    var ajaxdestination="";
    
    function getdata(what,where) { // get data from source (what)
     try {
       xmlhttp = window.XMLHttpRequest?new XMLHttpRequest():
                      new ActiveXObject("Microsoft.XMLHTTP");
     }
     catch (e) { /* do nothing */ }
    
     document.getElementById(where).innerHTML ="<div id='text-haut-contenu'><div id='text-titre-contenu'>Chargement du module :</div></div><div id='text-milieu-contenu'><div class='text-text-contenu'><center><img src='images/icones/ajax-loader.gif'></center></div></div><div id='text-bas-contenu'></div>";
    // we are defining the destination DIV id, must be stored in global variable (ajaxdestination)
     ajaxdestination=where;
     xmlhttp.onreadystatechange = triggered; // when request finished, call the function to put result to destination DIV
     xmlhttp.open("GET", what);
     xmlhttp.send(null);
      return false;
    }
    
    function triggered() { // put data returned by requested URL to selected DIV
      if (xmlhttp.readyState == 4) if (xmlhttp.status == 200) 
        document.getElementById(ajaxdestination).innerHTML =xmlhttp.responseText;
    }



    et voici le type de liens utilsé :
    <a href="#Home/page/" onclick="getdata('pages/page.php','contenu');"></a>
    


    Et donne donc un url de type http://monsite.fr/#Home/page/ .

    Mon but est donc de pouvoir "marquer" les pages dans l'url et de pouvoir rafraichir, revenir à une page dynamique.

    Merci pour vos futurs aident.
    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2010 à 21:49:57

      as tu pensé à utilisé jQuery ? il y a un plugin qui fait le tout pour toi, et qui remédie à ce problème auquel tu fais face.

      voici le plugin dont je parle http://www.asual.com/jquery/address/

      sinon HTML5 offre de nouvelles fonctionnalités en ce qui concerne la manipulation des barres d'adresses.
      • Partager sur Facebook
      • Partager sur Twitter

      Changer le contenu d'une div en sauvegardant l'url

      × 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