Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1100 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  La question classique: Comment bloquer le retour arrière

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

La question classique: Comment bloquer le retour arrière

n°1426776
PedroBD
Posté le 17-08-2006 à 17:12:48  profilanswer
 

Bonjour,
 
Je suis en train de faire un logiciel qui a une interface web et je dois absolument bloquer le bouton précédent sous IE et Firefox et la touche backspace. J'ai déjà vu des sites web qui envoient un message quand on veut faire un retour, mais je trouve rien de précis sur le web.
 
Quelqu'un aurait un bon tuto à me recommander ou pourrait m'expliquer directement.
 
Je sais très bien qu'en désactivant le js on vire l'effet du js. Mais dans un deuxième temps, j'empêcherai les utilisateurs de se connecter s'ils ont pas activé js.
 
Merci de votre aide.

mood
Publicité
Posté le 17-08-2006 à 17:12:48  profilanswer
 

n°1426779
jagstang
Pa Capona ಠ_ಠ
Posté le 17-08-2006 à 17:17:18  profilanswer
 

écrit un navigateur


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1426781
PedroBD
Posté le 17-08-2006 à 17:19:07  profilanswer
 

Ok, j'y penserai...quelqu'un a mieux à proposer?

n°1426782
flo850
moi je
Posté le 17-08-2006 à 17:19:20  profilanswer
 

tu dois aussi bloquer le clic droit -> page precedente, ainsi que le retour en arriere de plusierus pages , ...
 
c'est impossible, ( et encore heureu ) , tant pis pour toi

n°1426785
mIRROR
Chevreuillobolchévik
Posté le 17-08-2006 à 17:23:51  profilanswer
 

Citation :

j'empêcherai les utilisateurs de se connecter s'ils ont pas activé js.


 
maiçaisupaire  [:freekill]

n°1426786
PedroBD
Posté le 17-08-2006 à 17:26:48  profilanswer
 

flo850 a écrit :

tu dois aussi bloquer le clic droit -> page precedente, ainsi que le retour en arriere de plusierus pages , ...
 
c'est impossible, ( et encore heureu ) , tant pis pour toi


 
Le clic droit c'est fait.
 
Il reste plus que le bouton précédent.
 
C'est pas impossible vu que sur certains sites, si on clique sur précédent, on a un alert qui s'affiche pour dire que précédent est désactivé.

n°1426787
PedroBD
Posté le 17-08-2006 à 17:28:04  profilanswer
 

mIRROR a écrit :

Citation :

j'empêcherai les utilisateurs de se connecter s'ils ont pas activé js.


 
maiçaisupaire  [:freekill]


 
Je suis obligé, c'est pas un site web que je fais, c'est un prog pour une entreprise, j'ai fait des boutons équivalents, maintenant y a plus qu'à virer ceux en trop

n°1426799
mIRROR
Chevreuillobolchévik
Posté le 17-08-2006 à 17:36:36  profilanswer
 

donc en meme temps tu vas etre obligé de supprimer l historique  
tu vas faire des heureux

n°1426800
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-08-2006 à 17:41:07  profilanswer
 

c'nawak [:spamafote]
tu as pensé à la touche backspace si ton focus est sur le document aussi?

n°1426803
PedroBD
Posté le 17-08-2006 à 17:45:49  profilanswer
 

anapajari a écrit :

c'nawak [:spamafote]
tu as pensé à la touche backspace si ton focus est sur le document aussi?


 
Oui, j'y ai pensé. Le seul truc dont j'ai besoin est de pouvoir bloquer le bouton précédent du navigateur.

mood
Publicité
Posté le 17-08-2006 à 17:45:49  profilanswer
 

n°1426804
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-08-2006 à 18:00:53  profilanswer
 

bon la seule façon de faire ça a peu près proprement c'est utiliser la propriété onBeforeUnload de window ( elle marche sur IE & gecko, les autres navs je sais jamais).
Un truc dans le genre:

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
  4. <head>
  5.   <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.   <title>Exemple</title>
  7.   <script type="text/javascript">
  8.   var pouet = false;
  9.   window.onbeforeunload = function (){
  10.     if ( pouet == false){
  11.       return false;
  12.     }
  13.   }
  14.   function goToUrl(url){
  15.     pouet = true;
  16.     document.location.href = url;
  17.     return false;
  18.   }
  19.   </script>
  20. </head>
  21. <body>
  22.   <a href="http://www.google.com">lien normal</a><br/>
  23.   <a href="" onclick="return goToUrl('http://www.google.com')">lien perso</a>
  24. </body>
  25. </html>


Cela couvre tous les cas imaginables ( c'est par exemple comme ça que fonctionne gmail).
Néanmois cela affiche une fenêtre de confirmation, contre laquelle tu ne peux absolument rien.

n°1426817
PedroBD
Posté le 17-08-2006 à 18:56:56  profilanswer
 

Merci! Je teste ça demain!

n°1426998
PedroBD
Posté le 18-08-2006 à 09:10:49  profilanswer
 

Ca marche bien, mais je n'utilise que event.returnvalue pour afficher un message en partie personnalisable.
 
Est-ce que l'on peut utiliser d'autres méthodes que event.returnvalue?  
J'imagine que c'est pas possible, mais je cherche à pouvoir n'afficher qu'un message unique de confirmation...et idéalement enlever le bouton annuler!

n°1427000
PedroBD
Posté le 18-08-2006 à 09:16:53  profilanswer
 

Et aussi que la fenêtre de confirmation ne s'affiche que dans certains cas, pas dès que je clique sur un lien ou n'importe quoi d'autre (pour l'instant, j'ai mis onbeforeunload dans la balise body)

n°1427001
anapajari
s/travail/glanding on hfr/gs;
Posté le 18-08-2006 à 09:23:06  profilanswer
 

anapajari a écrit :

Néanmois cela affiche une fenêtre de confirmation, contre laquelle tu ne peux absolument rien.


n°1427009
PedroBD
Posté le 18-08-2006 à 09:38:33  profilanswer
 

Ok, ben je te remercie quand même.
 
Et y a pas moyen de juste afficher une petite fenêtre de confirmation juste quand on clique sur précédent?

n°1431830
Abiss
Posté le 26-08-2006 à 14:22:42  profilanswer
 

Salut,
 
Avez-vous enfin trouvé une solution fiable pour résoudre les problèmes liés au bouton retour page précédente? Moi aussi je voudrais développer un logiciel avec Internet Explorer essencielement en PHP et MySQL.
 
Pedro BD, qu'a-tu finalement trouvé comme solution pour développer seinement ton logiciel?
 
Merci infiniment

n°1431831
FlorentG
Posté le 26-08-2006 à 14:26:06  profilanswer
 

Ca dépend comment votre logiciel est goupillé... Pourquoi interdire le bouton précédent ? Quel problème y'a-t-il avec ?

n°1431834
Abiss
Posté le 26-08-2006 à 14:35:34  profilanswer
 

Salut,
 
Mon logiciel stock des valeurs dans une base de données et de manière organisé. Quand l'utilisateur utilisera le bouton retour arrière, il retrouvera les enciennes pages déjà validées; ce qui peut induire des erreurs lors de la réactualisation des pages précédente. Or un logiciel et développé pour être exécuté dans un sens logique et chronologiques pour ne pas qu'il s'embrouille les pinceaux. D'ailleurs, pour m'entrainer, j'ai fait une minie application ou l'utilisateur enregistre basiquement des valeurs dans une table. Ce programme marche très bien, mais si l'utilisateur fait l'erreur d'utiliser le bouton retour page précédente, parfois une page avec plein de merde apparait.
 
Merci de votre aide

n°1431835
FlorentG
Posté le 26-08-2006 à 14:37:25  profilanswer
 

Abiss a écrit :

Salut,
 
Mon logiciel stock des valeurs dans une base de données et de manière organisé. Quand l'utilisateur utilisera le bouton retour arrière, il retrouvera les enciennes pages déjà validées;


Bah suffit d'interdire la mise en cache de la page...
 

Abiss a écrit :

Or un logiciel et développé pour être exécuté dans un sens logique et chronologiques pour ne pas qu'il s'embrouille les pinceaux.


Un logiciel n'est pas développé sous forme de pages webs :D. Dès que tu fais tout ça en Html, faut prendre en compte les contraintes : extrêmement difficile, voire impossible de supprimer le bouton précédent, vu que c'est la base de la navigation.

n°1431836
Abiss
Posté le 26-08-2006 à 14:41:48  profilanswer
 

Si sa existe, on apelle cela un site web dynamique. En fait c'est un site qui comporte des fonctions complexe pour traiter de l'information. Mais bon tu n'été peut-être pas au courant!
 
Bref je vais réfléchir sur cette mise en cache. Merci pour ton aide

n°1431837
gatsu35
Blablaté par Harko
Posté le 26-08-2006 à 14:44:51  profilanswer
 

Abiss a écrit :

Si sa existe, on apelle cela un site web dynamique. En fait c'est un site qui comporte des fonctions complexe pour traiter de l'information. Mais bon tu n'été peut-être pas au courant!
 
Bref je vais réfléchir sur cette mise en cache. Merci pour ton aide


[:rofl]


Message édité par gatsu35 le 26-08-2006 à 14:45:01
n°1431842
mIRROR
Chevreuillobolchévik
Posté le 26-08-2006 à 14:54:32  profilanswer
 

Abiss a écrit :

Si sa existe, on apelle cela un site web dynamique. En fait c'est un site qui comporte des fonctions complexe pour traiter de l'information. Mais bon tu n'été peut-être pas au courant!
 
Bref je vais réfléchir sur cette mise en cache. Merci pour ton aide


 
 
t es en retard vendredi c etait hier   :fou:  :fou:  :fou:

n°1431846
FlorentG
Posté le 26-08-2006 à 14:58:32  profilanswer
 

Abiss a écrit :

Si sa existe, on apelle cela un site web dynamique. En fait c'est un site qui comporte des fonctions complexe pour traiter de l'information. Mais bon tu n'été peut-être pas au courant!
 
Bref je vais réfléchir sur cette mise en cache. Merci pour ton aide


Nan mais c'était du second degré, hein [:johneh]

n°1431853
Abiss
Posté le 26-08-2006 à 15:10:08  profilanswer
 

Ahhhh mais je vois que je suis tombé sur les vrai connard du fofo. Vous n'avez pas votre place ici si c'est pour faire chier le monde. Un forum c'est pour aider les gens, c'est pas pour les emmerder comme vous savez si bien faire apparament. Sur ce je vous emerde, allez vous faire bien enculer profond bande de pouri de merdeeeee. Conard

n°1431854
FlorentG
Posté le 26-08-2006 à 15:11:36  profilanswer
 

Abiss a écrit :

Ahhhh mais je vois que je suis tombé sur les vrai connard du fofo. Vous n'avez pas votre place ici si c'est pour faire chier le monde. Un forum c'est pour aider les gens, c'est pas pour les emmerder comme vous savez si bien faire apparament. Sur ce je vous emerde, allez vous faire bien enculer profond bande de pouri de merdeeeee. Conard


Ben t'énerves pas comme ça... :(

n°1431855
gatsu35
Blablaté par Harko
Posté le 26-08-2006 à 15:16:55  profilanswer
 

Abiss a écrit :

Ahhhh mais je vois que je suis tombé sur les vrai connard du fofo. Vous n'avez pas votre place ici si c'est pour faire chier le monde. Un forum c'est pour aider les gens, c'est pas pour les emmerder comme vous savez si bien faire apparament. Sur ce je vous emerde, allez vous faire bien enculer profond bande de pouri de merdeeeee. Conard


Ah nan on te dit juste la vérité hein !!
C'est surtout que même si c'est une application que tu as faite. Tu ne pourras quand même pas aller à l'encontre des navigateurs.
et puis comme tu nous parles sur ce ton tu peux aller te f.... e..... bien p..... si tu le souhaite.  
Mais nous ne somme pas des connards.

n°1431878
mIRROR
Chevreuillobolchévik
Posté le 26-08-2006 à 17:04:20  profilanswer
 

Abiss a écrit :

Un forum c'est pour aider les gens


 

Citation :

FORUM.  (UM se prononce OME.) n. m. T. d'Antiquité romaine. Place où le peuple s'assemblait, à Rome, pour les affaires publiques, ou Place où se tenait quelque marché. Le plus ancien forum, ou Forum proprement dit, était situé entre le Capitole et le mont Palatin. Le forum de Nerva. Le forum de Trajan.
 
Figurément et en style oratoire, il désigne le Lieu où se discutent les affaires publiques. L'éloquence du forum. Les luttes du forum.


 
c est pas pour aider els gens a la base c est pour se faire du pognon [:pingouino]
c est devenu ensuite une place publique a cause du marché entre autres
mais je sais pas ou t as été chercher ta notion d aide
on etait bien entre nous jusqu a ce qu un gros nase vienne nous faire chier parce qu il veut desactiver quelque chose qui est par essence [:aloy] impossible
mais ptet que t etais pas au courant [:pingouino]

n°1431899
axelazerty
Posté le 26-08-2006 à 18:33:56  profilanswer
 

Mon post ne va pas servir à grand chose, mais j'aimerais faire une remarque sur le retour arrière.
Quel est l'interet de brider à ce point les utilisateurs ?  
Si ton code est tel que le retour arrière ne marche pas et que tu dois en recoder un dans ta page web, alors ton site est à refaire.
Si c'est purement politique, il faudrait arrêter de faire plaisir au décideurs, et leur expliquer que ça ne sert à rien d'autre qu'à créer une frustration chez les usagers.
Enfin, si vous voulez avoir le contrôle total, n'utilisez pas le support web, mais développez une appli cliente bien proprio.


Message édité par axelazerty le 26-08-2006 à 18:35:34
n°1431901
FlorentG
Posté le 26-08-2006 à 18:35:58  profilanswer
 

Comme dit, les solutions existent pour que le bouton précédent ne soit pas gênant : désactivation de la mise en cache par exemple...

n°1431905
axelazerty
Posté le 26-08-2006 à 18:39:44  profilanswer
 

oui, c'est utile pour éviter de conserver des données qui auraient pu être mises à jour. Mais j'ai l'impression que le blocage du retour arrière demandé ici est plus une manoeuvre de cdontrôle des utilisateurs (pourquoi d'ailleurs ? en quoi le retour arrière est génant ? sa réponse "c'est un prog pour une entreprise" me laisse perplexe) qu'une assurance de la validité des données.

n°1432079
nargy
Posté le 27-08-2006 à 12:50:25  profilanswer
 

admettons.. que tu ai à passer de l'étape 1 à l'étape 2, mais si l'utilisateur revient à l'étape 1 change le formulaire et appuye sur <<valider>> tu te retrouve avec deux entrées différentes dans ta base de donnée, ce qui est gênant.
 
Donc pour bien faire, dans l'url (voire aussi dans les variables de sessions) tu utilise un paramètre que tu enregistre en parrallèle dans une base de donnée, indiquant quel est la dernière étape à laquelle l'utilisateur était.
 
Maintenant, quand l'utilisateur revient en arrière, l'étape 1 n'accepte pas d'être mise en cahce, donc peut se rendre compte que l'utilisateur vient de l'étape 2 (en regardant dans la base de donnée et/ou dans les variables de sessions).
 
Ok, puisque l'utilisateur a utilisé le bouton Précédant de son navigateur, tu effectue les opérations necessaires pour retirer les infos de ta BDD concernant l'étape 2. Tu lui propose de modifier l'étape 1.
 
Etc.... ça necessite en effet de penser à l'avance comment fonctionne ton application, et si tu te lance directement dans le code tu va droit dans le mur.
 
En plus de détecter quand l'utilisateur appuye sur les boutons Précédent/Suivant du navigateur, tu peut ajouter des boutons supplémentaires dans tes pages qui ont le même effet et qui sont <<plus jolis>>. L'avantage est que les utilisateurs ne sont pas perdus la première fois quils utilisent ton logiciel, et n'ont pas de message d'erreur <<bouton Précedant désactivé>> qui ferait penser que ton application a planté ou n'est pas bien conçue.

n°1432169
axelazerty
Posté le 27-08-2006 à 18:40:39  profilanswer
 

ce problème d'étape1 , 2, etc peut être gérée par la partie métier de l'appli, enfin c'est comme ça que je fais, mais c'est vrai que c'est une autre possibilité.  
Merci de tes précisions.

n°1432206
gilou
Modérateur
Modzilla
Posté le 27-08-2006 à 19:16:36  profilanswer
 

Abiss a écrit :

Ahhhh mais je vois que je suis tombé sur les vrai connard du fofo. Vous n'avez pas votre place ici si c'est pour faire chier le monde. Un forum c'est pour aider les gens, c'est pas pour les emmerder comme vous savez si bien faire apparament. Sur ce je vous emerde, allez vous faire bien enculer profond bande de pouri de merdeeeee. Conard

Hop, un winner de notre grand lot de 1 mois de ban gratuit...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1432294
leflos5
On est ou on est pas :)
Posté le 28-08-2006 à 01:00:12  profilanswer
 

Abiss a écrit :

Salut,
 
Mon logiciel stock des valeurs dans une base de données et de manière organisé. Quand l'utilisateur utilisera le bouton retour arrière, il retrouvera les enciennes pages déjà validées; ce qui peut induire des erreurs lors de la réactualisation des pages précédente.
[/quote]  
Oui si tu vérifies pas  :whistle:  
[quote]Or un logiciel et développé pour être exécuté dans un sens logique et chronologiques pour ne pas qu'il s'embrouille les pinceaux. D'ailleurs, pour m'entrainer, j'ai fait une minie application ou l'utilisateur enregistre basiquement des valeurs dans une table. Ce programme marche très bien, mais si l'utilisateur fait l'erreur d'utiliser le bouton retour page précédente, parfois une page avec plein de merde apparait.
 
Merci de votre aide


Idem, l'utilisateur ne se trompe jamais que si tu lui en laisses la possibilité  :o  
 
En gros t'as du boulot pour comprendre que c'est à toi de valider tes données et qu'en plus de ça tu dois anticiper les boulets et agir en conséquences  :ange:  
 
L'utilisateur n'est jamais responsable d'un bug (c)

n°1432428
PedroBD
Posté le 28-08-2006 à 11:35:34  profilanswer
 

Abiss a écrit :

Salut,
 
Avez-vous enfin trouvé une solution fiable pour résoudre les problèmes liés au bouton retour page précédente? Moi aussi je voudrais développer un logiciel avec Internet Explorer essencielement en PHP et MySQL.
 
Pedro BD, qu'a-tu finalement trouvé comme solution pour développer seinement ton logiciel?
 
Merci infiniment


 
Hey, j'ai l'impression que mon post a eu pas mal de succès. J'ai finalement pas trouvé de solution idéale (comme on peut s'en douter). En fait j'ai l'impression que le mieux est d'utiliser la désactivation du cache...même si c'est pô terrible. Y a pas moyen de personnaliser à sa guise IE?

n°1432435
PedroBD
Posté le 28-08-2006 à 11:43:23  profilanswer
 

Sinon y une autre solution c'est de forcer le plein écran, par exemple j'ai trouvé sur un forum:
 
<script language="javascript">
top.resizeTo(window.screen.availWidth,window.screen.availHeight);
top.moveTo(0,0);
</script>
 
Et d'empêcher le click droit. Après y a plus qu'à bloquer l'action du backspace. Je pense pour ma part que c'est la meilleure solution, mais j'ai pas encore testé!
 
Je vous tiens au courant.

n°1432438
axelazerty
Posté le 28-08-2006 à 11:51:41  profilanswer
 

franchement, des sites qui brident à se point l'utilisateur, redimensionnent les fenêtres, je reste pas 5 min dessus...

n°1432441
FlorentG
Posté le 28-08-2006 à 11:55:48  profilanswer
 

PedroBD a écrit :

Sinon y une autre solution c'est de forcer le plein écran, par exemple j'ai trouvé sur un forum:
 
<script language="javascript">
top.resizeTo(window.screen.availWidth,window.screen.availHeight);
top.moveTo(0,0);
</script>
 
Et d'empêcher le click droit. Après y a plus qu'à bloquer l'action du backspace. Je pense pour ma part que c'est la meilleure solution, mais j'ai pas encore testé!
 
Je vous tiens au courant.


Suffit de désactiver JS alors :D Ou d'avoir FireFox et d'utiliser une extension qui interdit l'interdiction du bouton droit.
 
Nan sérieux, si l'application est correctement développée, le bouton précédent ne pose aucun problème...

n°1432442
PedroBD
Posté le 28-08-2006 à 11:58:01  profilanswer
 

Je fais pas un site public, je fais un truc privé pour une entreprise, mais à base interface web...dans mon cas c'est nécessaire!

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  La question classique: Comment bloquer le retour arrière

 

Sujets relatifs
[PHP] question simple sur les variablesProblème avec Vlookup et question sur MsgBox
[MFC] effectuer un retour à la ligne ds un EDITTEXT[TomCat] Bloquer l'accès aux dossiers
Question sur la syntaxe d'un lien hypertexteQuestion de syntaxe, comment faire plus simple??
question pratique sur des cases à cocher[logique] question simple
Question de débutant sur les sessions PHP!Ouverture classeur et réponse question avec 1 macro
Plus de sujets relatifs à : La question classique: Comment bloquer le retour arrière


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR