Отмена в обработчике события beforeunload оставляет URL-адрес браузера измененным - PullRequest
0 голосов
/ 04 марта 2011

Я использую событие beforeunload, чтобы заставить пользователей подтвердить, что они хотят покинуть мою веб-страницу (и потеряют свои данные). Он работает нормально, за исключением одного случая: если они пытаются отойти, введя новый URL-адрес в адресную строку, а затем отменить, они остаются на моей странице, но в адресной строке все еще отображается их новое назначение.

Это безвредно, но раздражает, поэтому я ищу способ вернуть адресную строку моему URL, не вызывая обновления.

Это мой код:

<script type="text/javascript">jQuery(window).bind('beforeunload', function () {
    return 'This will end your session.';
});
</script>

Ответы [ 2 ]

3 голосов
/ 04 марта 2011

Вы не можете программно изменить содержимое адресной строки, если вы фактически не отправите пользователя на новую страницу.Если бы вы могли, фишинг был бы намного проще.«Хм, браузер говорит, что я нахожусь на https://safebankingsite.com, Я думаю, что все в порядке, чтобы ввести мой SSN.»

2 голосов
/ 04 марта 2011

Я даже пытался добавить привязку к странице:

<a href="#foo">Change Location</a>

Нажатие, которое даже не фиксирует удаленный адрес.Я думаю, это подтверждает, что ты не можешь этого сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...