11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je cherche à afficher un message personnalisé si le visiteur ferme l'onglet ou le navigateur sans passer par le système de déconnexion prévu.

j'ai testé plusieurs choses mais si j'arrive à afficher un message, il s'agit d'un message propre aux navigateurs, je ne parviens pas à mettre celui que je veux.

J'ai testé ceci par exemple:

window.onbeforeunload = function (event) {
    var message = 'Important: Please click on \'Save\' button to leave this page.';
    if (typeof event == 'undefined') {
        event = window.event;
    }
    if (event) {
        event.returnValue = message;
    }
    return message;
};


$(window).bind('beforeunload', function() {return 'Are you sure?';} );


Sans résultat, à chaque fois le message personnalisé n'apparaît pas.

Une idée?
Merci! Smiley smile
Bonjour,

Je n'ai malheureusement pas la solution à ce problème mais le sujet m'intéresse.

Juste une question d'ergonomie : pourquoi ne pas déclencher le "système de déconnexion prévu" à la fermeture de l'onglet si le cas se présente ? Plutôt que d'afficher un message ?

J'ai déjà été confronté à cette expérience utilisateur à la fermeture d'une page web et j'ai toujours trouvé cette pratique très désagréable (bien plus désagréable encore que les messages qui, à l'ouverture de la page, vous demandent votre accord pour une géolocalisation ou pour des notifications). En effet, on veut quitter une page web... et bien non : un système interne au site nous l'interdit. Super frustrant, l'utilisateur a le sentiment de perdre le contrôle, ce qui ne donne pas envie de revenir.
Bonjour.

Trouvé sur :
https://developer.mozilla.org/fr/docs/Web/Events/beforeunload

Depuis le 25 Mai 2011, la spécification HTML5 indique ques les appels aux méthodes window.alert(), window.confirm() et window.prompt() peuvent être ignorés durant l'événement. Voir specification HTML5 pour plus de détails.

Cela dit, je ne suis pas sûre que cela s'applique à votre cas…

Smiley smile
Modifié par Zelena (22 Nov 2017 - 11:28)
Olivier C> Il s'agit d'une plateforme où les personnes inscrites (un truc spécifique, pas quelque chose de bourré de pub hein, un truc pro Smiley cligne ) se connectent et ont accès à des contenus à remplir en ligne ou pas.
Lorsque la personne complète un contenu hors ligne, le temps de connexion sur la plateforme n'est pas comptabilisé et ça peut être embêtant pour lui ensuite. Je souhaite donc l'avertir que s'il ferme son navigateur/onglet il pourrait être dans ce cas-là, et donc, attention.

Zelena> Merci, je vais tester ceci, ça ressemble à ce que j'ai déjà fait mais sait-on jamais.

EDIT> Je viens de tester avec le code donné mais c'est exactement comme ce que j'ai actuellement, j'ai bien un popup qui apparaît, mais impossible de personnaliser le message à l'intérieur, qui diffère donc suivant le navigateur et qui n'est bien entendu pas ce que je veux dire à la personne. Smiley decu
Modifié par jouvrard (22 Nov 2017 - 15:08)