2016-06-02 3 views
0

Je peux détecter Ctrl + R mais je n'arrive pas à arrêter le rechargement de la page.Capable de détecter Ctrl + R Mais arrêter de recharger la page

S'il vous plaît aidez-moi à résoudre ce problème.

J'utilise ce code.

$(document).keydown(function(e) { 
    if (e.keyCode == 65+17 && e.ctrlKey) { 
     alert('ctrl R'); 
     exit; 
     return ; 
    } 
}); 

Merci d'avance.

+1

Cliquez sur ce lien http://stackoverflow.com/questions/2767126/how-to-detect-that-ctrlr-was-pressed –

+0

Je suis assez confiant que JavaScript puisse ou non empêcher le rechargement d'une page. la politique de sécurité du navigateur. – apokryfos

+0

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

Répondre

0
<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
    <script> 
    $(function() { 
document.onkeydown = KeyPress; 
function KeyPress(e) { 
console.log(e); 
     var press = window.event? event : e 
     if (press.keyCode == 82 && press.ctrlKey) alert("Ctrl+R"); 

    if ($.browser.mozilla) { 
       if (e.ctrlKey && keycode == 82) { 
        if (e.preventDefault) 
        { 
         e.preventDefault(); 
         e.stopPropagation(); 
        } 
       } 
      } 


if ($.browser.msie) { 
      if (window.event.ctrlKey && press.keycode == 82) { 
       window.event.returnValue = false; 
       window.event.keyCode = 0; 
       window.status = "Refresh is disabled"; 
      } 
} 
} 

}); 
    </script> 
    </head> 
    <body> 

    <p>If you click on me, I will disappear.</p> 
    <p>Click me away!</p> 
    <p>Click me too!</p> 

    </body> 
    </html> 
+0

ce code recharge également la page. –

+0

https://jsfiddle.net/q2vh2n48/ J'ai testé et fonctionne bien – HudsonPH

+0

Brother, Après avoir détecté Ctrl + R il page de rechargement, que je veux réparer. –

0

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é.