La norme/manière propre pour aider l'utilisateur à prévenir reload page non désirée est via beforeunload et pas par événement clé prioritaire, ce qui est, en fait, inutile: vous ne savez pas quelle combinaison de touches appelée reload page (par exemple, f5 fonctionne aussi bien dans la plupart des navigateurs), il peut appuyer sur CTRL + R avec locationbar concentré pour que votre page ne reçoit pas l'événement pour capturer, il peut avoir appuyé sur le bouton de la barre d'outils ...
approche standard Mentionné de la page MDN liés
window.addEventListener("beforeunload", function (e) {
var confirmationMessage = "\o/";
e.returnValue = confirmationMessage; // Gecko, Trident, Chrome 34+
return confirmationMessage; // Gecko, WebKit, Chrome <34
});
Cela invitera l'utilisateur à chaque fois qu'il essaie de recharger/fermer/naviguer loin de votre page quel que soit le déchargement initié.
Cliquez sur ce lien http://stackoverflow.com/questions/2767126/how-to-detect-that-ctrlr-was-pressed –
Je suis assez confiant que JavaScript puisse ou non empêcher le rechargement d'une page. la politique de sécurité du navigateur. – apokryfos
Toutes les combinaisons de touches système ne peuvent pas être gérées dans une fenêtre. Essayez 'return false' ou' e.preventDefault() '. Je ne sais pas pourquoi vous ne cherchez que cette façon de recharger. l'utilisateur peut appuyer sur le bouton d'actualisation que vous ne pouvez pas détecter – charlietfl