刷新祖父页面

时间:2014-01-30 20:35:30

标签: javascript window.open

问题陈述

1)我有一个页面A,它使用window.open()打开一个弹出窗口。

2)B收集一些用户信息并将其发送到java控制器,后者在处理后将重定向URL返回给B.

3)B然后使用window.open('www.temp.com/qq/rr.jsp',_ self)打开此重定向网址(www.temp.com/qq/rr.jsp)。

4)在www.temp.com/qq/rr.jsp上,用户执行一些操作,完成后,www.temp.com / qq / rr.jsp调用第B页。

5)一旦调用B,根据某些条件,应关闭此弹出窗口(第B页),并将页面A替换为第D页。

enter image description here

我无法使用window.opener.location.href将页面A替换为D.

请告知。

1 个答案:

答案 0 :(得分:0)

这里的关键是保留开窗器。一旦他们离开,这就失去了。诀窍是始终使用父窗口进行导航。您将调用父窗口,而不是window.open,并告诉IT更改子窗口的位置。

在第A页:

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

在第B页:

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');
}