Не уверен, но я полагаю, что если вы не вернете false
в свой обработчик onclick
, будет выполнено действие кнопки по умолчанию - и это не перенаправление.
Предупреждение останавливает браузер достаточно долго, поэтому перенаправление выполняется до того, как элемент управления возвращается к поведению по умолчанию для элемента кнопки.
Попробуйте использовать что-то вроде этого:
<button onclick="GotoPage(); return false;">Go</button>
Или попробуйте изменить функцию, чтобы она возвращала false
:
function GotoPage() {
location.href = "http://www.yahoo.com";
return false;
}
И возвратите в свой обработчик onclick, что функция вернула:
<button onclick="return GotoPage();">Go</button>
Кстати: нет необходимости в javascript:
части.