Aw Qirui Guo Aw Qirui Guo - 22 days ago 12
Javascript Question

How to customize the message "Changes you made may not be saved." for window.onbeforeunload?

I am testing in Google Chrome.

I did some search and found that someone is using:

window.onbeforeunload = function() {
if (hook) {
return "Did you save your stuff?"
}
}


But when I use it, I still got the "Changes you made may not be saved." message. How can I change it to something I want?

Thanks!

Answer

You can't, the ability to do this was removed in Chrome 51. It is widely considered a security issue, and most vendors have removed support.

Custom messages in onbeforeunload dialogs (removed):

A window’s onbeforeunload property may be set to a function that returns a string. If the function returns a string, then before unloading the page, a dialog is shown to have the user confirm that they indeed want to navigate away. The string provided by the function will no longer be shown in the dialog. Rather, a generic string not under the control of the webpage will be shown.

Comments

This shipped in Safari 9.1, and has been shipping in Firefox since Firefox 4. Safari considers this a security fix and assigned it CVE-2009-2197 (see https://support.apple.com/en-us/HT206171 ). Approved with the intent https://groups.google.com/a/chromium.org/d/msg/blink-dev/YIH8CoYVGSg/Di7TsljXDQAJ .

Specification

Established standard

Status in Chromium

Removed (launch bug) in:

  • Chrome for desktop release 51
  • Chrome for Android release 51
  • Android WebView release 51
  • Opera release 38
  • Opera for Android release 38
Comments