Могу ли я установить, как долго всплывающее окно имеет фокус? - PullRequest
1 голос
/ 26 мая 2010

У меня есть боковая панель навигации, и когда вы нажимаете ссылки, она отправляет форму.Действие формы открывает другую страницу (цель _blank).Моя проблема в том, что мне нужно открыть всплывающее окно, прежде чем эта пустая страница откроется, и держать его открытым достаточно долго, чтобы пользователь мог прочитать его или, по крайней мере, сначала увидеть его и закрыть, если они того пожелают.Я создал функцию, которая открывает всплывающее окно по событию onclick ссылки.Выглядит так:

 <li><a href="JavaScript:document.quoteform.submit()" onclick="popUp('ag_popup.html')">Submit a Deal</a></li>

и моя функция выглядит следующим образом:

function popUp(url) 
{
leftPos = 0
topPos = 0
if (screen) {
leftPos = (screen.width / 2) - 150
topPos = (screen.height / 2) - 250
}   
newwindow=window.open(url,'name','height=300,width=500,left='+leftPos+',top='+topPos);
if (window.focus) {newwindow.focus()}
return false;}

Кто-нибудь знает, могу ли я просто держать свое всплывающее окно открытым и сфокусированным, не открывая новую пустую страницу передэто?

Ура

1 Ответ

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

Вы можете использовать функцию setTimeout , чтобы ждать, удерживать ссылку во всплывающем окне и затем закрывать ее (или позволить пользователю решать!). После этого отправьте форму из этой функции.

Например:

var newWindow=null;
function popUp(url) 
{
leftPos = 0
topPos = 0
if (screen) {
leftPos = (screen.width / 2) - 150
topPos = (screen.height / 2) - 250
}   
newWindow=window.open(url,'name','height=300,width=500,left='+leftPos+',top='+topPos);
if (window.focus) {newWindow.focus()}
setTimeout('closePopupAndSubmit()')', 5000);
}

function closePopupAndSubmit{
if(newWindow != null){
newWindow.close();
document.quoteform.submit();
}
}
...