Bloquer le retour arrière du navigateur ....

Soyez le premier à donner votre avis sur cette source.

Vue 32 410 fois - Téléchargée 847 fois

Description

Le retour arrière peut parfois être problématique pour la cohérence des données gérées par le biais de page HTML.
Cependant, cette commande est intrinsèque aux navigateurx et ne peut être directement modifée.

Voici donc un petit bout de code pour contrer cette fonctionnalité et assurer un déroulement continu dans vos pahes HTML.

Tecm@n

Source / Exemple :


<HTML>
<HEAD>
<TITLE>NoBack (episode 1)!</TITLE>
<script language="JavaScript">
// Si vous utilisez se script, merci de m'en informer : tecman_one@yahoo.fr

//
// Ne pouvant contrer le retour arriere du navigateur,
// ou par d'autres appels ("window.history.back()")
// le principe est assez simple :
// Il suffit lors du retour arriere de demander de revenir en avant.
// 
// En final, on fait un saut arriére qui commande directement un saut avant.
// => Retour à la page !
//

window.history.forward();

// Afin de démontrer le déroulement du processus
// Cette premiére page en construit (=appel) une autre.
// Cette page suivante utilise le processus décrit plus haut.
// 
// Donc page 1 => page 2 => page 2 ...
//

// Pour certain navigateur, le processus nécessite l'utilisation
// de la méthode onUnLoad de la page (déchargement).
// Ceci explique l'implémentation de 'onunload="window.history.forward();"'

function page() {
	var w=window.document;
	w.write("<HTML><HEAD><TITLE>NoBack (episode 2 ET FIN) !</TITLE>");
	w.write("<script language=\"JavaScript\">window.history.forward();");
	w.write("<\/SCRIPT>");
	w.write("</HEAD><body onunload=\"window.history.forward();\">");
	w.write("<FONT FACE=\"Arial\" SIZE='-1' COLOR=\"blue\">");
	w.write("<FORM><CENTER>");
	w.write("Appuyer sur le bouton \"Back\" pour revenir à la page précédente");
	w.write("<BR><BR><BR>");
	w.write("<INPUT TYPE=\"button\" value=\"Back\" onClick=\"window.history.go(-1)\">");
	w.write("<BR><BR><BR>");
	w.write("Ou cliquez le lien <A HREF=\"javascript:window.history.back()\">Back</A>");
	w.write("<BR><BR><BR>");
	w.write("Ou essayez avec le bouton du navigateur.");
	w.write("</FORM></CENTER></FONT>");
	w.write("<FONT FACE=\"Arial\" SIZE='-1' COLOR=\"blue\">");
	w.write("<p align=\"right\">&copy\;<a href=\"mailto\:tecman_one@yahoo.fr?subject");
	w.write("=Code%20Javascript%20NoBack\"> Tecm@n</a></p></FONT>");
	w.write("</BODY></HTML>");
	w.close;
}

</SCRIPT>
</HEAD>
<body onunload="window.history.forward();">

<FONT FACE="Arial" SIZE='-1' COLOR="blue">
<FORM><CENTER>
Voici une suite de page, sans retour arriere.
<BR><BR><BR>
<INPUT TYPE="button" value="Suite" onClick="page();">
<BR><BR><BR>
</FORM></CENTER></FONT>
<FONT FACE="Arial" SIZE='-1' COLOR="blue">
<p align="right">©<a href="mailto:tecman_one@yahoo.fr?subject=Code%20Javascript%20NoBack"> Tecm@n</a></p>
</FONT>
</BODY></HTML>

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
63
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 juin 2005

Bien vu !
Messages postés
140
Date d'inscription
mercredi 28 avril 2004
Statut
Membre
Dernière intervention
21 juillet 2005

Bonjour,

Une autre méthode est d'utiliser : window.location.replace(url)
pour accéder à une page. Cette page ne se met pas dans window.history.
Idéal pour un site avec des frames.
Messages postés
19
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
21 mars 2008

J'ais publié un code sur ce sujet:
http://www.javascriptfr.com/code.aspx?ID=31359
si sa peux etre utile...
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Tu n'as pas l'impression de faire de répétage et de faire d'écrire des choses inutiles ...

"Si vous utilisez se script, merci de m'en informer : tecman_one@yahoo.fr"

Franchement pour une ligne de code.


"Ne pouvant contrer le retour arriere du navigateur,
ou par d'autres appels ("window.history.back()")
le principe est assez simple : ..."

Je nécirirez pas tout ,mais en deux lignes on aurait comprit le principe et dans explication finale cela a plus sa place que dans le code lui-même.
Messages postés
63
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 juin 2005

merci coucou747 de rappeler ce principe.
De plus, mélanger les maj et les min perd un peu de lisibillité.
Je prend note !
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.