IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

danielhagnoul

Web, on peut bloquer les actions de l'utilisateur !

Noter ce billet
par , 10/10/2019 à 22h26 (897 Affichages)
À mon humble avis, ce n'est pas une bonne décision, mais c'est possible et certains le souhaitent.

Une des raisons qui m'ont été données est d'empêcher l'utilisateur d'interférer pendant moins de 5 secondes avec un formulaire, car son action précédente va provoquer une mise à jour du formulaire (modification du formulaire, communication avec le serveur).

Quelle que soit la valeur du besoin, on peut malheureusement bloquer très facilement les événements émis par le clavier et les "pointeurs", c'est-à-dire bloquer les événements de la souris, du pointeur ou du doigt.

Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
window.addEventListener('load', ev => {
    // le DOM est construit et la page web est visible
 
    // début code du test
 
    let keypressHandler = ev => {
        ev.stopPropagation();
        ev.preventDefault();
    };
 
    let pointerdownHandler = ev => {
        ev.stopPropagation();
        ev.preventDefault();
    };
 
    function lockUser() {
        document.addEventListener('keypress', keypressHandler, {
            capture: true,
            passive: false,
            once: false
        });
 
        document.addEventListener('pointerdown', pointerdownHandler, {
            capture: true,
            passive: false,
            once: false
        });
    }
 
    function unlockUser() {
        document.removeEventListener('keypress', keypressHandler, {
            capture: true,
            passive: false,
            once: false
        });
 
        document.removeEventListener('pointerdown', pointerdownHandler, {
            capture: true,
            passive: false,
            once: false
        });
    }
 
    lockUser();
 
    setTimeout(unlockUser, 100000); // 100s
 
    // fin code du test
 
}, {
    capture: false,
    passive: true,
    once: false
});

Licence Creative Commons Attribution 2.0 Belgique

Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Viadeo Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Twitter Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Google Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Facebook Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Digg Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Delicious Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog MySpace Envoyer le billet « Web, on peut bloquer les actions de l'utilisateur ! » dans le blog Yahoo

Commentaires