Я попробовал приведенный ниже код, чтобы создать всплывающее окно, когда пользователь пытается перейти от текущей страницы. Этот всплывающий экран появляется, но как только пользователь нажимает "ОК" или "Отмена", появляется всплывающее окно по умолчанию as- "Are You Уверенный "всплывающее окно (" Эта страница просит вас подтвердить, что вы хотите уйти - данные, которые вы ввели, не могут быть сохранены. ").
var msg = "Mandatory fields left unsaved!!!";
// open hidden layer
window.onbeforeunload = function () {
return confirm(msg);
}
Я не хочу, чтобы всплывающее окно по умолчанию отображалось. Возможно? Если нет, как я могу изменить сообщение, которое отображается по умолчанию всплывающее.
Попробуй это
<a href="Default.aspx" onclick="return check()" id="link">Click ME</a>
<script type="text/javascript">
var msg = "Mandatory fields left unsaved!!!";
function check() {
return confirm(msg);
}
</script>
В зависимости от того, с каким браузером ваш пользователь посещает вашу страницу (-а), они могут не увидеть ваше собственное сообщение: https://developer.mozilla.org/en-US/docs/Web/API/Window.onbeforeunload
В двух словах, в то время как метод позволяет вернуть значение, браузер не должен использовать его в приглашении. Это (игнорирование текстового значения) - это поведение, которое я видел в браузерах, с которыми я тестирую, когда пытаюсь сделать примерно то же, что и ваш пример.
Возможно, что onbeforeunload
установлен для window.use:
window.onbeforeunload = null;