11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Tout comme le dit le titre, voilà ce que j'essaie de faire :


<script type="text/javascript">
if(location.hash) {
	$("#contenu").load(location.hash+'.php');
}
</script>


Mais ça ne marche pas. Si par exemple l'adresse est http://monsite.fr/index.php#accueil , et bien accueil.php ne se charge pas dans la div "contenu" quand on entre l'url.
Modifié par Relax (28 Aug 2010 - 05:42)
Quand ca marche pas comme ca teste des valeurs avec alert();
Si tu fais :
alert(location.hash);

tu trouveras un truc du genre : #monhashtag.
Donc il faudrait virer le # qui est devant ta valeur pour avoir le bon nom de fichier
location.hash+'.php'.

Ca donne :
$("#contenu").load(location.hash.substring(1) + '.php'); 
En fait le problème ne change pas étant donné que même avec un

if(location.hash) {
	alert('in');
	$('#contenu').load('accueil.php');
}


rien ne se fait, pourtant j'ai bien le alert.
Juste un léger détail : location.hash, si c'est vide dans l'url, renverra "" et pas false
Donc il serais mieux de le tester différemment

Ceci dit, apparemment ça passe dedans donc je suis vaguement hors-sujet, désolé '^^
Modifié par Falafel65 (08 Sep 2010 - 16:19)