Клиентская сторона Событие, когда дочернее окно меняет родительское местоположение? - PullRequest
2 голосов
/ 13 мая 2009

Хорошо, вот сделка:

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

ТЕКУЩИЙ: СТРАНИЦА ПРОДУКТА <-> POPUP

Однако я создаю новую функцию, в которой главная страница вызывает новое дочернее окно для сведений о продукте. На этой странице сведений о продукте будет ссылка на вышеупомянутое всплывающее окно. Проблема в том, что всплывающее окно теперь видит дочернее окно как своего родителя, и перенаправление происходит там, а не в главном окне браузера.

РАЗРАБОТКА: ОСНОВНОЙ САЙТ -> ДЕТАЛИ ПРОДУКТА ДЛЯ ДЕТЕЙ <-> POPUP

Есть ли событие, которое я могу зафиксировать в дочерних деталях продукта до того, как произойдет перенаправление, чтобы я мог передать его на следующий уровень?

ТИА

Кевин

РЕДАКТИРОВАТЬ: Найдено:

http://www.bennadel.com/blog/1520-Binding-Events-To-Non-DOM-Objects-With-jQuery.htm

Но это просто сообщает вам после расположение изменилось ...

1 Ответ

0 голосов
/ 13 мая 2009

Это то, что я закончил делать ...

function smartRedirect(newlocation)
{
    if (window.opener == window.opener.parent)
    {
        // main window opened us...
        window.opener.location.href = newlocation;
    }
    else
    {
        // must have been a child window... so change parent, then close this one...
        window.opener.parent.location.href = newlocation;

        // this is needed because when the child window/frame is killed,
        // window.opener becomes null.
        self.close();
    }
}
...