Jump to content
  • 0

Передача фокуса родительскому окну


rootv
 Share

Question

window.opener.focus() - почему-то не работает (бывает возврат проскочит 1 раз из 10, а потом опять глухо!?...)

Если в родительском окне задаю его имя window.name="rod", то из дочернего к нему не вернуться ("rod" - определение отсутствует)

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

(бывает возврат проскочит 1 раз из 10, а потом опять глухо!?...)

А в попапе случайно не сабмит формы происходит? Ссылка на opener живет только до перезагрузки страницы. Как вариант, сабмитить форму в невидимый iframe или еще куда-нибудь кроме самого окна, тогда ссылка выживет...

Link to comment
Share on other sites

  • 0

А в попапе случайно не сабмит формы происходит? Ссылка на opener живет только до перезагрузки страницы. Как вариант, сабмитить форму в невидимый iframe или еще куда-нибудь кроме самого окна, тогда ссылка выживет...

Извиняюсь, не совсем понял терминологию...

Схема такая:

Родительская страница содержит форму. При отправке формы создается окно с помощью window.open с тем же именем, что и target в обработчике, этому (дочернему) окну передается фокус (ссылка.focus()) и в него загружается выборка из базы данных.

Для возврата в родительское окно (так, чтоб в родительском сохранялись значения полей, а не перезагрузка) в дочернем ставлю кнопку с onClick='window.opener.focus();' (ну, и некоторые другие варианты) - толку нет...

opener.blur() - дает близкие эффект [почти как и opener.close()], но это совсем не то...

Загружать результат в невидимый фрейм... (давно пользуюсь) в данном случае как-то не подходит?

Edited by rootv
Link to comment
Share on other sites

  • 0

Т.е. window.open создает сначала пустое окно, а потом, в результате отправки формы, в него загружается новый контент? Видимо, в момент этой загрузки св-во opener и теряется.

А заменить открытие дочернего окна на какой-нибудь lightbox с iframe-ом внутри — не выход?

Link to comment
Share on other sites

  • 0

lightbox - не знаком...

Наверное, я в танке?

Итак:

В родительской только -

<form method="POST" target='_blank1' action="http://www.au-to.ru/a2.html">

В обработчике только

<input type="button" value="к поиску" onClick="window.parent.focus();">

Не работает! (http://www.au-to.ru/a1.html)

Работающий пример не нашел...

Link to comment
Share on other sites

  • 0

Опыт показал, что замена в дочернем окне window.parent.focus();

на window.parent.close(); - ведет к закрытию дочернего окна

на window.opener.close(); - ведет к закрытию родительского окна

window.opener.focus(); - ни какой реакции...

???

Link to comment
Share on other sites

  • 0

в IE7 проблема была связана с тем, что родительское окно находилось в одной из вкладок и возврат был неопределен... Если запускать из окна с одной вкладкой, то возврат работает 100%...

В Firefox даже если удается добиться, чтобы новое окно открывалось не в новой вкладке, а в новом окне - врзврат не работает...

В опере - не удалось добиться, чтобы окна находились не в разных вкладках, а отдельно...

Последний шанс - работать не с opener, а со ссылкой на окно... Но как получить в дочернем окне именно ссылку на родительское окно (а не имя окна)? Как вообще эту ссылку создать, если родительское окно открывалось не с помощью window.open()?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy