2014-01-30 10 views
0

Заявление об ошибкеОбновление главной родительской страницы

1) У меня есть страница A, которая открывает всплывающее окно B, используя window.open().

2) B собрать некоторую информацию пользователя и отправить его на контроллер Java, который после обработки возвращает URL перенаправления в B.

3) B затем открывает этот URL переадресации (www.temp.com/qq/rr .jsp) с помощью window.open ('www.temp.com/qq/rr.jsp', _ self).

4) на www.temp.com/qq/rr.jsp, пользователь выполняет какое-либо действие, и как только он завершает, www.temp.com/qq/rr.jsp называет страницу B.

5) После того, как B называется, на основании некоторого условия, это всплывающее окно (страница B) должно быть закрыто и страница а должны быть заменена страница D.

enter image description here

Я не в состоянии заменить страницу A с D с помощью окна. opener.location.href.

Просьба сообщить.

ответ

0

Ключом здесь является сохранение открывалки окон. Как только они уйдут, это потеряно. Трюк состоит в том, чтобы всегда перемещаться с помощью родительского окна. Вместо window.open вы вызовете родительское окно и сообщите IT, чтобы изменить местоположение дочернего окна.

В странице А:

var b = window.open('b.html'); 
function setChildWindowLocation(href) { 
    b.location.href = href; 
} 

В страницу Б:

function getRedirectUrl() { 
    var href = ajax(); //this is obviously psuedo-code for getting the redirect url 
    window.opener.setChildWindowLocation(href); 
} 

function checkCondition(condition) { 
    if (condition) 
    { 
    //this will work, because we still have an opener 
    window.opener.location.href = 'D.html'; 
    window.close(); 
    } 
} 

В страницу RR:

function goBackToPageB() { 
    window.opener.setChildWindowLocation('B.html'); 
} 
Смежные вопросы