Разница в «поведении» заключается в том, что первое диалоговое окно - это окно браузера, когда вы пытаетесь запретить пользователю переходить, а другое - PlaceController
, вызывая Window.confirm()
.Каждый браузер использует отдельное диалоговое окно для первого случая, поэтому нет возможности имитировать его для всех, и это, вероятно, также не очень хорошая вещь (переход от приложения к переходу в приложении).
Что касается вашего второго вопроса, события генерируются изменением «истории» браузера;если вы запретите переход (из Места), URL остается прежним (теперь можно узнать, что нужно сделать, чтобы «откатить» изменения: History.back()
, History.next()
, History.newItem()
, но затем вы уничтожите существующее «следующее«история?», поэтому, когда вы снова нажимаете на ссылку, вы не вносите изменения в URL, и событие не запускается.
Ожидается, что вы используете PlaceController.goTo
для навигации при использовании мест,не Hyperlink
или History
.