2010-03-23 5 views
8

Ma page Web exécute une fonction javascript lorsque la page est chargée. Cependant, je ne veux pas que la fonction s'exécute si l'utilisateur revient à cette page en utilisant le bouton de retour. Comment puis-je empêcher cela en utilisant javascript?Détecter si l'utilisateur a utilisé le bouton Précédent

$(document).ready(function(){ 
    // Do not run this function if the user has arrived here using the back button 
    RefreshThePage(); 
}); 
+0

double possible de http://stackoverflow.com/questions/55871/track-when-user-hits-back-button-on -le-browser –

+0

Dupliquer: http://stackoverflow.com/questions/55871/track-when-user-hits-back-button-on-the-browser Au moins une meilleure réponse ici, cependant, la question devrait être fusionnée mais pas supprimé. –

+0

J'ai le même problème en ce moment, pouvez-vous partager comment avez-vous résolu ce problème? –

Répondre

4

je l'aurais pensé que l'utilisation des cookies est la meilleure façon de le faire

+0

J'ai le même problème en ce moment, pouvez-vous spécifier comment utiliser les cookies pour gérer ce problème s'il vous plaît? –

0

Track when user hits back button on the browser

Il y a plusieurs façons de le faire, bien que certains ne fonctionnent que dans certains navigateurs. Un que je sais sur le dessus de ma tête est d'incorporer un minuscule iframe presque invisible sur la page. Lorsque l'utilisateur appuie sur le bouton de retour, l'iframe est recopié que vous pouvez détecter puis mettre à jour votre page. Here est une autre solution.

Vous pouvez également aller voir la source sur quelque chose comme Gmail et voir comment ils le font.

Here's une bibliothèque pour le genre de chose que vous êtes à la recherche par la voie

-3

L'objet événement vous offre pour obtenir le code. Donc, fondamentalement, vous enregistrez un eventlistener onKeyDown. Utilisez l'événement reçu. Si le code correspond à la clé que vous aimez, continuez avec votre fonction.

document getElementById('elementId').onKeyDown = checkKey(); 
function checkKey(event) { 
    if (event.keyCode === keyCode) then . . . 
} 

jouer avec l'alerte (event.keyCode); pour trouver le bon.

+3

Tom fait référence au bouton Précédent du navigateur, pas à un bouton de retour dans la page. Et je ne pense pas que vous pouvez capturer le bouton de retour du navigateur comme un événement de clavier en JavaScript. – Prutswonder