Changer le contenu d'une div et sauver l'url

Zeytann -  
 Zeytann -
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.
A voir également:

2 réponses

Xogno
 
Bonjour,

je te conseille d'utiliser des iframes:

<div class="lien_menu"><a type="button" value="change url"onclick="document.getElementById('myFrame').src='home.php';" >Home</a></div>

<div class="lien_menu" ><a type="button" value="change url"onclick="document.getElementById('myFrame').src='autre_page.php';" >autre page</a></div>
		

<div id="corps_page">
<iframe runat="server" frameBorder=0 marginHeight=0 marginWidth=0 name=login scrolling=auto src="home.php"  id="myFrame"></iframe>
</div>


Voila, c'est assez simple et sa fonctionne pour faire page précedente,etc ;)
Si tu as une question n'hésite pas !

Xogno
0
Xogno
 
donc, quand tu clique sur un lien, la source de l'iframe change :)
0
Zeytann
 
Et est-ce que cela necessite un script additionnel ? Comme pour jQuery ou autre ?
0
Xogno
 
donc, quand tu clique sur un lien, la source de l'iframe change :)

ca marche pour faire page précédente/suivante mais pas pour rafraichir la page, ca remet la source par défaut...
0
Xogno
 
dsl, j'avais pas vu ton commentaire.
Non juste ça et ca marche !
0
Zeytann
 
Ok merci beaucoup Xogno, je vais voir si d'autres réponses peuvent mieux convenir à mon problème, parce que le rafraîchissement est important dans un site, si un contenu se charge mal. Retourner au contenu par défaut pour revenir au contenu ca peu poser problème à nos joueurs. Mais merci beaucoup pour ta réponse :)
0
Zeytann
 
Aidez moi s'il vous plait !
0