Tout le monde a déjà eu le coup ! Un utilisateur clique frénétiquement sur un bouton save ou launch parce que le serveur a un load de 40 et résultat ?
Alors que faire contre l’utilisateur frénétique qui en est déjà a son 5eme café et qui va massacrer votre interface graphique car elle ne répond pas a la milliseconde ?
Je n’ai eu qu’a de très rare occasion vu une application qui montre que quelque chose est en train de se faire en arrière plan.
Afin de dire a votre utilisateur que votre application web a bien pris en compte l’opération, vous pourriez mettre un petit sablier.
Pour cela rien de plus simple. Un peu de CSS.
body.waiting {
cursor: wait;
}
Puis tout simplement avoir un code JS (ici avec prototypes)
document.body.addClassName('waiting');
new Ajax.Request(uri, {
onComplete: function() {
document.body.removeClassName('waiting');
}
});
Simple non ? Vous pouvez aussi enregistrer un changement de curseur plus globalement au niveau du Responders ajax.
Ajax.Responders.register({
onCreate: function(){
document.body.addClassName('waiting');
},
onComplete: function(){
document.body.removeClassName('waiting');
}
});
Et n’oubliez pas l’evenement “window.load” de votre navigateur lorsque ce n’est pas un appel ajax.
BRAVO ! A présent votre utilisateur est au courant que quelque chose se passe
.
Toute ces petites choses paraissent évidente et pourtant… beaucoup de site sérieux ne le font pas.
4 reponses sur “Comment eviter un cliqueur frénétique dans une application web ?”
Par Flo le 17/02/2009
je transfèrerai bien ce trucs à mes collègues, mais comment faire pour qu’il ne trouve pas mon blog ?
Par X-Blaster le 18/02/2009
Je t’enleve de la liste des liens si tu veux.
Mais sache quand même que tu es mon plus gros site referer (pour le blog), environ 33% des visiteurs venant de sites externes
.
Par Flo le 18/02/2009
non je vais l’apprendre par coeur et ressortir ma science fraichement acquise. je brillerai en société
sauf que cela ne durera pas très longtemps car ils vont pas comprendre pourquoi je me serais soudainement mise à l’ajax, moi et mon appli pourrie en php 4.4.4 réfractaire au javascript ^^
Par X-Blaster le 18/02/2009
Un de mes prochains post pourrait parler des moyens a mettre en oeuvre pour migrer une appli en PHP3 sans MVC en une appli Zend en PHP5 (ce que j’essaye de faire au taff).
Plein de bootstrap et de bidouilles pour migrer le code PEU a PEU…
mais ça reste possible