La question classique: Comment bloquer le retour arrière - HTML/CSS - Programmation
Marsh Posté le 17-08-2006 à 17:17:18
écrit un navigateur
Marsh Posté le 17-08-2006 à 17:19:20
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
Marsh Posté le 17-08-2006 à 17:23:51
Citation : j'empêcherai les utilisateurs de se connecter s'ils ont pas activé js. |
maiçaisupaire
Marsh Posté le 17-08-2006 à 17:26:48
flo850 a écrit : tu dois aussi bloquer le clic droit -> page precedente, ainsi que le retour en arriere de plusierus pages , ... |
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é.
Marsh Posté le 17-08-2006 à 17:28:04
mIRROR a écrit :
|
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
Marsh Posté le 17-08-2006 à 17:36:36
donc en meme temps tu vas etre obligé de supprimer l historique
tu vas faire des heureux
Marsh Posté le 17-08-2006 à 17:41:07
c'nawak
tu as pensé à la touche backspace si ton focus est sur le document aussi?
Marsh Posté le 17-08-2006 à 17:45:49
anapajari a écrit : c'nawak |
Oui, j'y ai pensé. Le seul truc dont j'ai besoin est de pouvoir bloquer le bouton précédent du navigateur.
Marsh Posté le 17-08-2006 à 18:00:53
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 :
|
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.
Marsh Posté le 18-08-2006 à 09:10:49
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!
Marsh Posté le 18-08-2006 à 09:16:53
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)
Marsh Posté le 18-08-2006 à 09:23:06
anapajari a écrit : Néanmois cela affiche une fenêtre de confirmation, contre laquelle tu ne peux absolument rien. |
Marsh Posté le 18-08-2006 à 09:38:33
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?
Marsh Posté le 26-08-2006 à 14:22:42
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
Marsh Posté le 26-08-2006 à 14:26:06
Ca dépend comment votre logiciel est goupillé... Pourquoi interdire le bouton précédent ? Quel problème y'a-t-il avec ?
Marsh Posté le 26-08-2006 à 14:35:34
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
Marsh Posté le 26-08-2006 à 14:37:25
Abiss a écrit : Salut, |
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è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.
Marsh Posté le 26-08-2006 à 14:41:48
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
Marsh Posté le 26-08-2006 à 14:44:51
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! |
Marsh Posté le 26-08-2006 à 14:54:32
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! |
t es en retard vendredi c etait hier
Marsh Posté le 26-08-2006 à 14:58:32
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! |
Nan mais c'était du second degré, hein
Marsh Posté le 26-08-2006 à 15:10:08
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
Marsh Posté le 26-08-2006 à 15:11:36
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...
Marsh Posté le 26-08-2006 à 15:16:55
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.
Marsh Posté le 26-08-2006 à 17:04:20
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. |
c est pas pour aider els gens a la base c est pour se faire du pognon
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 impossible
mais ptet que t etais pas au courant
Marsh Posté le 26-08-2006 à 18:33:56
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.
Marsh Posté le 26-08-2006 à 18:35:58
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...
Marsh Posté le 26-08-2006 à 18:39:44
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.
Marsh Posté le 27-08-2006 à 12:50:25
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.
Marsh Posté le 27-08-2006 à 18:40:39
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.
Marsh Posté le 27-08-2006 à 19:16:36
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+,
Marsh Posté le 28-08-2006 à 01:00:12
Abiss a écrit : Salut, |
Idem, l'utilisateur ne se trompe jamais que si tu lui en laisses la possibilité
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
L'utilisateur n'est jamais responsable d'un bug (c)
Marsh Posté le 28-08-2006 à 11:35:34
Abiss a écrit : Salut, |
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?
Marsh Posté le 28-08-2006 à 11:43:23
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.
Marsh Posté le 28-08-2006 à 11:51:41
franchement, des sites qui brident à se point l'utilisateur, redimensionnent les fenêtres, je reste pas 5 min dessus...
Marsh Posté le 28-08-2006 à 11:55:48
PedroBD a écrit : Sinon y une autre solution c'est de forcer le plein écran, par exemple j'ai trouvé sur un forum: |
Suffit de désactiver JS alors 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...
Marsh Posté le 28-08-2006 à 11:58:01
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!
Marsh Posté le 17-08-2006 à 17:12:48
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.