Подтвердить что ты не робот

OnBeforeUnload неправильно работает для Chrome

Я использовал этот код в течение некоторого времени, и он работал нормально до вчерашнего дня:

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?";
}

Теперь проблема заключается в том, что Chrome показывает это:

Снимок экрана Chrome

Но Edge показывает это правильно:

Скриншот края

Что я делаю неправильно?

Примечание. Язык не проблема, потому что я пробовал как на английском, так и на испанском языках.

4b9b3361

Ответ 1

Ты не делаешь ничего плохого. Google решила сделать то, что сделала Mozilla, и не позволяет вам показывать собственное сообщение больше. Он вступил в силу в Chrome 51.

Вам все равно нужно вернуть что-то, чтобы вызвать встроенный диалог, но вам больше не разрешено определять, что говорит этот диалог.

Здесь запись BugZilla, где Mozilla решила сделать это в Firefox.

Здесь проблема Chrome, где Google решил сделать это в Chrome.

* (Новое поведение Chrome 51 было сообщено как ошибка, но, естественно, оно было закрыто в течение нескольких часов, как по дизайну.)