Javascript: Как обновить родительское окно из дочернего окна - PullRequest
1 голос
/ 31 марта 2012

Проблема в том, что window.opener не работает в этом случае.Причина в том, что это ноль.Это ноль, потому что дочернее окно пройдет несколько URL прежде, чем javascript сможет работать.Так что, без оригинального DOM ребенка (т.е. доступа к window.opener), как я могу обновить родительскую страницу?

Ответы [ 3 ]

0 голосов
/ 31 марта 2012

Вы можете (своего рода):

  1. Удерживать ссылку на дочернего элемента в родительском.
  2. подождать некоторое время, чтобы дочерний элемент был на последнем URL-адресе
  3. используйте окно ref из (1) для вызова функции, такой как registerParent (parentWindow), которая принимает окно ref.
  4. Сохраните это где-нибудь и используйте в качестве window.opener.

Это не надежно, но может работать достаточно хорошо.Удачи.

0 голосов
/ 31 марта 2012

Может быть, вы должны рассмотреть другой подход, например, вместо обычных звонков вы можете сделать ajax в дочернем окне. Это сохранит ссылку на родительское окно. Или, может быть, вам следует вообще отказаться от концепции отдельного окна и отобразить все в одном окне, используя элементы интерфейса ext или jquery ui. Пример Ext: http://www.danvega.org/examples/extwindow/basicwindow.cfm, Пример jQuery UI: http://jqueryui.com/demos/dialog/

0 голосов
/ 31 марта 2012

Не думайте, что это возможно только с помощью JavaScript. Единственное решение, которое я могу придумать, - это использование Ajax для опроса на серверной странице, которая указывает, нужно ли обновлять страницу.

...