27

Is it possible to use JavaScript to handle the event of refreshing page? What I want is get notice if user do one of these behaviours:

  • refresh page by pressing F5
  • close tab or browser
  • enter a new url then press enter on browser

to display a warning message?

0

2 Answers 2

33

You don't want the refresh, you want the onbeforeunload event.

http://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx

Sample code from article

<HTML>
<head>
<script>
function closeIt()
{
  return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;
</script>
</head>
<body>
  <a href="http://www.microsoft.com">Click here to navigate to 
      www.microsoft.com</a>
</body>
</html>
Sign up to request clarification or add additional context in comments.

2 Comments

Working for the recent version of chrome now :)
Do not work on Chrome's current version 60.0.3112.101 (Official Build) (64-bit).
8

The closest you could get is the window.onbeforeunload event:

window.onbeforeunload = function (e) {
    var e = e || window.event;

    // For IE and Firefox
    if (e) {
        e.returnValue = 'Leaving the page';
    }

    // For Safari
    return 'Leaving the page';
};

It is important to note that you need to return a string from this function.

2 Comments

I'm pretty sure that you don't need to do anything with e.returnValue for IE/FF. You just need to return a string.
@MattBall - it's referring to IE < 8 and Firefox prior to version 4. see the docs on MDN.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.