11548 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,

À propos de ce code:


<a href="javascript:history.go(-1)"></a>
<a href="javascript:history.go(1)"></a>


En tenant compte du fait que les visiteurs viendront forcément (dans mon cas) sur les pages souhaitées puisque je n'ai pas ce code sur la page d'accueil mais sur des pages du site.

Je me demande si c'est approprié d'utiliser ceci plutôt qu'une navigation via php.
Qu'en pensez-vous? Smiley tophat
Modifié par jmlapam (28 Oct 2011 - 18:47)
Hello,

1. Ça duplique une fonctionnalité du navigateur mais avec moins de finesse (tu ne peux pas tester s'il y a effectivement une URL précédente ou suivante dans l'historique).
2. Un visiteur peut toujours arriver directement sur une page intermédiaire (via un résultat de moteur de recherche, un bookmark ou un lien reçu).
3. Une navigation qui repose sur une fonctionnalité client de ce type ne sera pas utilisable sans JavaScript (bah ouais...) et pas lue par les moteurs de recherche.
4. Le pseudo-protocole javascript: c'est has-been, on est plus en 1998 hein. Smiley smile
5. Je vois pas trop comment le lien pour passer à l'élément suivant dans l'historique pourrait marcher si l'utilisateur n'a pas déjà consulté la page en question. Donc c'est une navigation qui ne permet pas de progresser?

Bref, c'est à jeter. Les liens de navigation sont plutôt à générer côté serveur (donc en PHP dans ton cas). Après tu es peut-être dans une cas de figure très singulier qui rend cette solution utile, mais en règle générale c'est à oublier.
Oui oui le cas est très spécifique et à priori, je suis sûr que cela marche en excluant la première page de ce type de navigation et en mettant un seul lien de ce type sur la dernière.

Bref, c'est bien ce que je pensais, c'est pas top!

Smiley merci
J'ai opté finalement pour une navigation toute simple en php beaucoup plus fiable.
Je mets ce code pour ceux que cela pourraient intéresser, à noter que c'est accessible et valable avec js désactivé:

HTML:

<form action="navigation.php" method="post" id="votre_id"> 
<label for="navigation_liste">Aller à</label> 
<select name="menu_navigation" id="votre_id" onchange="document.location = this.options[this.selectedIndex].value;">
		<option value="votre_url_en_absolu"></option>
		<option value="votre_url_en_absolu2" ></option>
		<option value="votre_url_en_absolu3" ></option>
		<option value="votre_url_en_absolus4"></option> 
	         </select>
<input id="nojs" type="submit" value="aller à" title="valider et aller" />
</form>


Le CSS >> "c'est vous qui voyez!"

Le PHP:


<?php
if ( isset($_POST['menu_navigation']) && !empty($_POST['menu_navigation']) ) 
     {header("Location: ".$_POST['menu_navigation']."");}
else 
     {header("Location: url_de_redirection_si_la_page_existe_pas");}
?>




Smiley cligne
Modifié par jmlapam (28 Oct 2011 - 18:46)