Можно ли использовать «подтвердить», чтобы открыть новый URL в том же окне? - PullRequest
1 голос
/ 19 мая 2010

Я использую функцию сценария подтверждения java для перенаправления на новый URL с положительным ответом. Это не делает именно то, что я хочу - и, возможно, я не могу иметь именно то, что я хочу.

Вот что он делает - onunload, с положительным ответом он открывает новый URL в новом окне, которое может быть заблокировано блокировщиком всплывающих окон, даже не подозревая пользователя, создавая впечатление, что ничего не случилось. Когда он открывает новый URL, он открывается в новом окне, заставляя рабочий стол переполняться. Это просто не лучшее решение.

Что я хочу, чтобы он делал - onunload Я хотел бы, чтобы он открыл новый URL в том же окне и не классифицировал его как всплывающее окно, которое нужно заблокировать. Я попытался перейти на onbeforeunload .... nuthin.

Есть ли простое решение?

вот мой текущий код:

<script language=javascript>
function confirmit() 
{ 
var closeit= confirm("My message"); 
if (closeit == true) 
{window.open("http://MyDestinationURL");} 
else 
{window.close();} } window.onunload = confirmit  
</script> 

1 Ответ

0 голосов
/ 19 мая 2010

Вместо открытия нового окна вы можете указать местоположение текущего окна:

<script type="text/javascript">

function confirmit()  { 
  if (window.confirm("My message")) {
    window.location.href = 'http://MyDestinationURL';
  } else {
    window.close();
  }
}

window.onunload = confirmit;

</script>

Я не уверен, действительно ли вам нужен случай else, когда он пытается закрыть текущее окно. Если вы просто хотите остаться на текущей странице с отрицательным ответом, удалите часть else.

...