2012-04-18 4 views
0

Я открываю всплывающее окно следующим образом:Как открыть всплывающее окно и связать его со всплывающим окном?

popup = window.open(url, "", "width=600,height=300,status=no,scrollbars=no,resizable=no"); 
popup.focus(); 

То, что я хочу сделать, это обновить нож, когда всплывающее окно закрывается. Это возможно? Благодаря

+0

Что вы подразумеваете под «открывателем»? Страница, вызывающая всплывающее окно? Или ссылку? – Lazerblade

+0

right, openener является родительским окном, которое вызывает всплывающее окно. – AnApprentice

+0

Обновление окна, вызвавшего всплывающее окно, приведет к тому, что всплывающее окно будет вызвано снова, так как вы по существу перезагрузите страницу/url. Другой вариант - инкапсулировать всплывающее окно в функцию самоисполнения, которая в первый раз добавляет URL-адрес в url и проверяет эту переменную url при вызове, прежде чем появляться в окне. – Lazerblade

ответ

1

Следующие должны сделать это (поместите его в <head>...</head>):

<script> 
window.onunload=function(){ 
    if(window.opener && !window.opener.closed) 
    window.opener.location.reload(true); 
}; 
</script> 
+0

Я не могу разместить что-либо внутри всплывающего окна, это внешнее ... – AnApprentice

+0

Страница, открывающая всплывающее окно, имеет доступ DOM к всплывающему окну. Переменная 'popup' на вашей странице может стоять как« окно », поэтому вы должны иметь возможность делать' popup.onunload = function() {...} ' – Ariel

+0

Игнорировать комментарий выше, не можете изменять свойства DOM по доменам ... – Ariel

0

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

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