繁体   English   中英

从iframe打开的弹出窗口重新加载iframe

[英]Reload iframe from pop-up window opened from iframe

问题

如何使用JS关闭弹出窗口,从iframe打开,然后重新加载iframe(不是整个页面)

做了什么

我在iframe中打开了一个弹出窗口。 一旦这个弹出窗口到达某个页面,我希望这个弹出窗口重新加载IFRAME,然后关闭弹出窗口。

我现在有什么

<script type="text/javascript">
window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";
window.close();
</script>

现在发生了什么

弹出窗口成功关闭。 整个页面将发送到iframe网址,而不是仅将其发送到iframe ...

编辑: 我尝试过的:

  window.opener.location.href="'.urldecode($_GET['return_url']).'";

但是,由于iframe或页面没有重新加载,因此它不会超过此行,并且它不会关闭弹出窗口。 在Chrome中,窗口关闭,但iframe /页面不会重新加载

事实证明,我访问的页面是一个不同的域(一个不同的域,是我们网站的一部分)。 但是,为什么这会起作用

window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";

并不是

window.opener.location.href="'.urldecode($_GET['return_url']).'";

??????

我们在这里分解您的代码:

window.opener.parent.location.href="'.urldecode($_GET['return_url']).'";
  • window表示当前弹出窗口的window对象。 目前很好。
  • .opener表示打开此窗口的窗口对象,它将是您要重新加载的iframe。 还好。
  • .parent表示iframe的父级,即整个窗口。 这是你的问题。

它应该是:

window.opener.location.href="'.urldecode($_GET['return_url']).'";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM