Projet

Général

Profil

Development #60815

display_message_and_continue.html : empêcher les doubles clics

Ajouté par Benjamin Dauvergne il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
19 janvier 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Le lien continue peut parfois pointer sur une URL de retour de SSO SAML "Artifact", l'URL n'est généralement utilisable qu'une fois (le cas est possible aussi pour OpenIDConnect), un double click est donc problématique sauf si le fournisseur de service sait rejouer le SSO dans ce cas (django-mellon implémente cette solution), w.c.s n'est pas dans ce cas.

Il est donc possible pour un utilisateur de double cliquer mais plus fréquemment encore le click de l'utilisateur se mélange avec l'auto-click effectué en JS, il faut bloquer ces deux possibilités.


Fichiers

Révisions associées

Révision 35bf68f9 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 2 ans

misc: prevent double click in display_message_and_continue.html (#60815)

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Assigné à mis à Benjamin Dauvergne
#3

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

#4

Mis à jour par Thomas Noël il y a plus de 2 ans

Je ne suis pas assez calé sur le sujet, alors je pose la question :
  • je comprends que on clique à la main, alors le javascript ne va pas cliquer
  • mais je ne vois pas comment l'inverse est évité : si javascript clique, qu'est-ce qui évite un clic manuel ?
#5

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution proposée à En cours

Thomas Noël a écrit :

Je ne suis pas assez calé sur le sujet, alors je pose la question :
  • je comprends que on clique à la main, alors le javascript ne va pas cliquer
  • mais je ne vois pas comment l'inverse est évité : si javascript clique, qu'est-ce qui évite un clic manuel ?

Rien c'est vrai, mais je n'ai pas trouvé de solution pour ne pas laisser les usagers dans une situation bancale si je bloque les cliques. Le problème ce serait : tu cliques tu appuies sur ESC pour arrêter le chargement et pim le lien ne marche plus, sans raison apparente. Je n'ai pas trouvé de moyen de savoir que le chargement en cours avait échoué ou avait était arrêté volontairement. Dans la mesure où c'est surtout les doubles cliques invisibles du au JS qu'on a identifié comme problématique, je laisserai le double clique usager vivre sa vie.

PS: je vais bloquer le clic dans tous les cas et je vais ajouter un timer pour ne pas bloquer le re-clic pendant 3 secondes.

#7

Mis à jour par Thomas Noël il y a plus de 2 ans

  • Statut changé de Solution proposée à Solution validée

Je ne sais pas s'il y a des fonctions moins tordues de faire ça, mais vu qu'on est sur le web, on va dire que c'est la seule façon de faire (la bonne et la pire, donc). Go !

#8

Mis à jour par Benjamin Dauvergne il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 35bf68f922c6abc1654ea31fc60bdc0166eca4f0
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed Jan 19 13:13:52 2022 +0100

    misc: prevent double click in display_message_and_continue.html (#60815)
#9

Mis à jour par Frédéric Péters il y a plus de 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#10

Mis à jour par Transition automatique il y a environ 2 ans

Automatic expiration

Formats disponibles : Atom PDF