BeforeUnloadEvent: returnValue property

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The returnValue property of the BeforeUnloadEvent interface, when set to a truthy value, triggers a browser-generated confirmation dialog asking users to confirm if they really want to leave the page when they try to close or reload it, or navigate somewhere else. This is intended to help prevent loss of unsaved data.

Note: returnValue is a legacy feature, and best practice is to trigger the dialog by invoking Event.preventDefault() on the BeforeUnloadEvent object, while also setting returnValue to support legacy cases. See the beforeunload event reference for detailed up-to-date guidance.

Value

returnValue is initialized to an empty string ("") value.

Setting it to just about any truthy value will cause the dialog to be triggered on page close/reload, however note that it also requires sticky activation. In other words, the browser will only show the dialog if the frame or any embedded frame receives a user gesture or user interaction. If the user has never interacted with the page, then there is no user data to save, so no legitimate use case for the dialog.

Note: A generic browser-specified string is displayed in the dialog. This cannot be controlled by the webpage code.

Examples

See the beforeunload event reference page for a best practice example.

Specifications

Specification
HTML
# dom-beforeunloadevent-returnvalue

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
returnValue
Deprecated

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Deprecated. Not for use in new websites.
Has more compatibility info.