onBeforeUnload not working correctly for Chrome

梦想的初衷 提交于 2019-11-27 16:13:54

问题


I've been using this code for some time and it worked fine until yesterday:

window.onbeforeunload = function() {
    return "¡Atención! Si continúas no podrás volver atrás y podrías perder datos. Revisa todos los campos y termina el trabajo antes de moverte de esta página. ¿Seguro que quieres continuar?";
}

The problem now is that Chrome shows this:

But Edge shows it the right way:

What am I doing wrong?

Note: Language is not the problem because I've tried with both English and Spanish.


回答1:


You're not doing anything wrong. Google has decided to do what Mozilla did and not allow you to show a custom message anymore. It took effect in Chrome 51.

You still need to return something to trigger the built-in dialog, but you're no longer allowed to determine what that dialog says.

Here's the BugZilla entry where Mozilla decided to do it in Firefox.

Here's the Chrome issue where Google decided to do it in Chrome.

*(The new Chrome 51 behavior was reported as a bug, but naturally it was closed within hours as it's by design.)



来源:https://stackoverflow.com/questions/37726258/onbeforeunload-not-working-correctly-for-chrome

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!