|
|
|
| Здравствуйте.
Подскажите, пожалуйста. Вопросик такой.
На одной странице мы нажимает кнопку "обновить", при этом открывается новое окно (window.open) в котором выполняется PHP код. Можно ли сделать так, чтобы по завершении выполнения этого кода окно автоматически закрылось и чтобы произошла перезагрузка первой страницы? Т.е. вернуться на 1-ю страницу и передать ей какуб-нибудь переменую? Чтобы на ней можно было написать, что процесс выполение скрипта завершен?
С уважением,
Ярослав. | |
|
|
|
|
|
|
|
для: Jaroslav
(11.06.2008 в 12:12)
| | Можно. Если только новое окно открывать СКРИПТОМ методом window.open ()
Т.е. в коде индексного файла должен быть примерно такой код:
var NW = window.open ('адрес_страницы_с_PHP-скриптом*', 'какое-нить_имя', 'параметры_нового_окна');
|
* В адресе можете PHP-скрипту передать (если надо) какие-нить данные в виде query_string, т.е. какие-то значения после символа ?.
Например, http://сайт.ru/сценарий.php?user=Vasja&number=12345
PHP-скрипт, завершив свою работу, должен будет отдать новому окну код, в котором будет СКРИПТ, предающий команду индексному (родительскому) окну на перезагрузку и закрывающий текущее (новое) окно. Примерно так:
window.opener.document.location.reload ();
self.close ();
|
| |
|
|
|
|
|
|
|
для: PAT
(11.06.2008 в 13:10)
| | А как передать переменную из второго окна (которое закрывается) в первое? | |
|
|
|
|
|
|
|
для: Jaroslav
(11.06.2008 в 13:59)
| |
window.opener.document.ИМЯ_ПЕРЕМЕННОЙ_В_РОДИТЕЛЬСКОМ_ОКНЕ = ЗНАЧЕНИЕ;
|
Обычно просто ПЕРЕДАТЬ значение - такое не делают.
Ибо переменная получит значение... ну и всё - действий же никаких не будет.
Обычно запускают в родительском окне функцию:
window.opener.document.ИМЯ_ФУНКЦИИ_В_РОДИТЕЛЬСКОМ_ОКНЕ (ПЕРЕДАВАЕМЫЕ_ЗНАЧЕНИЯ_ПАРАМЕТРОВ);
|
| |
|
|
|
|
|
|
|
для: Jaroslav
(11.06.2008 в 13:59)
| | Это код главного окна:
<input type="text" name="as" id="as">
<script>
window.open('wn.html','','')
</script>
|
Это код страницы, которая вызывается в окне:
<script>
window.opener.document.getElementById('as').value = 'out';
self.close ();
</script>
|
| |
|
|
|