begin process at 2012 02 06 02:17:18
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > BLOQUER LE RETOUR ARRIÈRE DU NAVIGATEUR ....

BLOQUER LE RETOUR ARRIÈRE DU NAVIGATEUR ....


 Information sur la source

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Navigation Niveau :Débutant Date de création :04/05/2005 Date de mise à jour :04/05/2005 20:57:17 Vu / téléchargé :19 264 / 443

Auteur : tecman

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 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

  • <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 &agrave; la page pr&eacute;c&eacute;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">&copy;<a href="mailto:tecman_one@yahoo.fr?subject=Code%20Javascript%20NoBack"> Tecm@n</a></p>
  • </FONT>
  • </BODY></HTML>
<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 &agrave; la page pr&eacute;c&eacute;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">&copy;<a href="mailto:tecman_one@yahoo.fr?subject=Code%20Javascript%20NoBack"> Tecm@n</a></p>
</FONT>
</BODY></HTML>


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

04 mai 2005 20:56:03 :
-
04 mai 2005 20:57:17 :
Ajout du code source en clair sur le site ;-))

 Sources de la même categorie

Source avec Zip Source avec une capture ANTI-ROBOTS V 1.0 par MacGaliver
Source avec une capture PRÉSENTOIR PAGE/SUJET par tiranus
Source avec Zip Source avec une capture NAVIGATEUR INTERNET HAVRET par HAVRETos
Source avec Zip WMANAGER.JS : GÉRER LES FICHIERS WMA AVEC WINDOWS MEDIA PLAY... par jdmcreator
Source avec Zip Source avec une capture NAVIGATION PAR AJAX, CHARGEMENT DES PAGES SANS RECHARGEMENT par zulrigh

Commentaires et avis

Commentaire de Arto_8000 le 04/05/2005 23:42:24

Une ligne de code aurait été plus compréhensible plutôt que 50 lignes de commentaire et de code HTML.

Commentaire de apxa le 05/05/2005 11:58:35

iop
un pragma:no-cache dans l'entete aurait été me semble t'il beaucoup plus simple.

Have Fun

Commentaire de coucou747 le 05/05/2005 22:19:50 administrateur CS

en plus, ça ne protège pas grand chose... juste la lisibilitée...

Commentaire de tecman le 05/05/2005 23:00:46

You've got right iop.

L'objectif de ces quelques lignes est aussi pédagogique.
(code mis en niveau 1 : débutant).

Pourquoi pisser du code sans l'expliquer ?

Au regard des questions posées il me semblait plus constructif d'avoir une démarche explicative que de se satisfaire d'une suffisance ou d'un nombrilisme égocentré.

Pour la protection, désolé ce n'est pas prévu ! Ce n'est pas le but recherché.

Tecm@n.

Commentaire de tecman le 05/05/2005 23:04:55

Pourquoi ne pas utiliser le no-cache ?

Je me suis entaché d'essayer de satisfaire une problématique de navigation.
Ta suggestion est tout à fait judicieuse et pertinente.
Cependant, dans le cadre d'échange client-serveur, il est utile de conserver le cache ne serait-ce que pour minimiser les flux inutiles (rechargement de CSS, de logo, js, ...).

Néanmoins, je souligne de nouveau la pertinence et la justesse de ton propos.

Tecm@n

Commentaire de Arto_8000 le 05/05/2005 23:33:05

On est sur un site de javascript pas de HTML alors que sa soit débutant ou pas , le but n'est pas de donner une leçon de HTML.

Des commentaires utiles sont appréciés pour mieux comprendre le principe ,pas des copyright et du répetage inutile !!!

Commentaire de tecman le 06/05/2005 00:01:04

Ouhaaa !! Super constructive !!!! Ta démarche Arto.

Quant au répetage (néologisme ?!) et copyright, dsl je 'nai pas l'impression.
Ceci-dit, je ne prétend aucunement d'avoir la primeur de chaque ligne de code ;-)

Essayons d'avancer plutôt que de reculer !!!
Pensons à ceux qui cherchent et qui désirent des solutions (voir msg iop) plutôt que des discussions stériles et puériles.
Merci d'utiliser les commentaires pour commenter et apporter un plus !!!

Tecm@n

Commentaire de Mindiell le 06/05/2005 10:20:47

Personnellement je suis contre le fait de "limiter" la navigation, mais ca marche. C'est donc une bonne source ^^

Commentaire de coucou747 le 06/05/2005 10:57:28 administrateur CS

perso, je penses que ce code n'est pas mauvais...
je pensais au cache moi aussi, mais les raisons évoqués pour l'emploi du cache sont de bonnes raisons, alors ce code est interessant, bien qu'un peu mal construit dans le sens ou toutes les balises doivent être soit en minuscules soit en majuscules en html, mais on ne doit pas mélanger les deux... En XHTLM, on ne doit employer que les minuscules, et mettre <script type="text/javascript"> au lieu de <script language="javascript">...

Commentaire de tecman le 06/05/2005 16:17:17

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

Commentaire de Arto_8000 le 06/05/2005 21:49:51

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.

Commentaire de rbonnal le 13/05/2005 16:27:26

J'ais publié un code sur ce sujet:
http://www.javascriptfr.com/code.aspx?ID=31359
si sa peux etre utile...

Commentaire de larion le 24/05/2005 14:53:53

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.

Commentaire de tecman le 24/05/2005 15:11:11

Bien vu !

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,866 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales