Pour empêcher l'usage de la touche f5 et du rafraîchissement dans une page html (ou php)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 26 447 fois - Téléchargée 27 fois

Contenu du snippet

J'ai passé un peu de temps à chercher (mal sans doute) sur les FORUM comment empêcher le rafraîchissement d'une page HTML, par la touche F5 ET par le bouton du navigateur...
et je n'ai pas trouvé tout à fait chaussure à mon pied, c'est pourtant quelquefois nécessaire.

Ma solution est la suivante (doit fonctionner avec IE4+ et avec Nestscape6+) :
1) pour empêcher l'utilisation du bouton du navigateur, ouvrir la fenêtre avec:
<A HREF="#" onClick="window.open('mapage.php,'libellé','toolbar=0,location=0,directories=0,status=0,scrollbars=1,resizable=1,copyhistory=0,menuBar=0,width=800,height=600');return(false)">...</a>
2) pour détourner la touche F5 (maintenant, elle doit fermer la fenêtre), ajouter le code proposé plus bas dans les parties "<javascript>" et "<body>"

Source / Exemple :


<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script type="text/javascript" language="javascript">

var layers = false;
var ie4 = (document.all) ? true : false;
var ns6 = (document.getElementById&&!document.all) ? true : false;
if (ie4 || ns6) {layers = true;} 

 
function test_f5(e)

{ 
var val="";
if(ie4)	{
	val="K"+window.event.keyCode;
	if (val == "K116") { 
		window.close();
	} else {
		return true; 
	}
}
if (ns6) {
	val="K"+e.which;
	if (val == "K116") { 
		window.close();
	} else {
		return true; 
	}
}
}

</script>
</head>
<body onKeyDown="test_f5(event)">
...
</body>
</html>

Conclusion :


-> onKeyDown teste la touche qui a été activée

-> le paramètre (event) est passé pour l'usage de Netscape

Il y a sans doute 1000 autres manières d'arriver au résultat ...

Je remercie tous ceux qui m'ont donné un peu de ce tout qui marche.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
118
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
28 décembre 2006

<script>function bloqueTouche(){
if(event.ctrlKey) event.returnValue=false;
if (event.keyCode 122 || event.keyCode 116){event.keyCode=0;return false;}}document.onkeydown =bloqueTouche;</script>

Bloque le CTRL et F4 et F5 !
Si plus de ' control ' plus de probleme de CTRL+N etc ...

---
Source trouvé sur http://www.javascriptfr.com/code.aspx?ID=16023
---
GuilleW
Messages postés
230
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
5 avril 2015

bonjour,

Pour chacha1960, ainsi que les autres ( comme ça pas de jaloux ... lol) tu peux etre plus prècis au niv de ton script sur l'implatation de la fonction qui permet de bloquer la touche Crtl,
car je cherche depuis pas mal de temps un script qui bloque cette touche ainsi que les touches C et V....Ou je peux trouver les valeurs de ces touches ???
Merci de ton aide.
rem78
Messages postés
230
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
5 avril 2015

bonjour,

Pour chacha1960, ainsi que les autres ( comme ça pas de jaloux ... lol) tu peux etre plus prècis au niv de ton script sur l'implatation de la fonction qui permet de bloquer la touche Crtl,
car je cherche depuis pas mal de temps un script qui bloque cette touche ainsi que les touches C et V....Ou je peux trouver les valeurs de ces touches ???
Merci de ton aide.
rem78
Messages postés
2
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
23 mars 2004

Bien sûr avec le script original on ne s'en rendait pas compte car on fermait la fénêtre...
Messages postés
2
Date d'inscription
mercredi 1 janvier 2003
Statut
Membre
Dernière intervention
23 mars 2004

Même si l'on bloque le F5 (touche 116), Internet explorer (j'ai le 6) prends la main et rafraîchi cete fµ%$^ page!
Afficher les 10 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.