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

Хехен

Здесь я работаю с

код:

<a href="#" onclick="window.onpopstate = function() { alert('pop'); };
    return false; ">set up window.onpopstate
</a><br>
<a href="#somehash2">change hash</a>
<div onclick="alert(location.href);">show location.href</div>​

Почему нажатие на ссылку change hash запускает всплывающее сообщение, не нужно ли его запускать, только если я нажму ссылку change hash и вернусь назад?

4b9b3361

Ответ 1

Причина window.onpopstate пожара не из-за изменения хэша. Это потому, что история была изменена, когда вы нажимаете на тег привязки.

От https://developer.mozilla.org/en/DOM/window.onpopstate:

Событие popstate отправляется в окно каждый раз, когда активен изменения записи истории. Если активирована запись истории, созданный вызовом history.pushState() или был затронут вызовом history.replaceState(), свойство состояния события popstate содержит копию объекта состояния записи истории.