2012-02-07 4 views
4

У меня есть кнопка на главной странице, которая откроет (window.open()) окно W1, чтобы пользователь мог выбрать материал на нем. После этого, нажмите кнопку ОК на W1, чтобы открыть окно W2 (снова window.open()). Как я могу закрыть W1 после того, как пользователь нажмет OK?Javascript: Закрыть всплывающее окно

+0

Вы можете оставить свой код? – Unknown

ответ

3

Используйте window.close() метод с именем целевого окна, как показано ниже:

win1 = window.open("","","width=100,height=100"); 
okBtn.onclick = function() { 
    win2 = window.open("","","width=100,height=100"); 
    win1.close(); 
} 
+0

Я не могу контролировать переменную win1, так как это окно открывается из плагина. Есть ли другой путь? Я также попытался установить в win1 во время действия onclick: window.opener = self; window.open (url2, ...), но он не работает –

+0

Являются ли содержимое win1 в вашем домене и доступны для редактирования? – Aaron

+0

да. это. клиент создается картой struts и отправляется обратно на сервер. Затем сервер пересылает запрос и выводит обратно клиенту по всплывающему окну –

0

На главной странице вы сохраните всплывающее окно в W1 и определить функцию, которая будет закрывать W1:

W1 = window.open("","","width=100,height=100"); 

function closeW1() { 
    W1.close(); 
} 

Теперь на W1 в том же месте, где вы открываете W2:

okBtn.onclick = function() { 
    W2 = window.open("","","width=100,height=100"); 
    window.opener.closeW1(); 
} 

Вот и все. Все готово.

Смежные вопросы