Search code examples
javascriptonbeforeunload

Prevent a webpage from navigating away using JavaScript


How to prevent a webpage from navigating away using JavaScript?


Solution

  • Using onunload allows you to display messages, but will not interrupt the navigation (because it is too late). However, using onbeforeunload will interrupt navigation:

    window.onbeforeunload = function() {
      return "";
    }
    

    Note: An empty string is returned because newer browsers provide a message such as "Any unsaved changes will be lost" that cannot be overridden.

    In older browsers you could specify the message to display in the prompt:

    window.onbeforeunload = function() {
      return "Are you sure you want to navigate away?";
    }