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

标签 javascript jquery html

问题

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

已完成的工作

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

我现在拥有的

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

现在发生了什么

弹出窗口成功关闭。整个页面被发送到 iframe URL,而不是仅仅发送到 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']).'";

关于javascript - 从 iframe 打开的弹出窗口重新加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9994408/

相关文章:

javascript - 如何获取将数据提供给 div 的样式的值? [MyShop电子商务]

javascript - RxJS - 缓冲唯一值并在 x 秒内没有发出其他值时发出?

javascript - 如何在 WordPress 中为不存在的子页面显示 404 页面?

javascript - 灯箱点击关闭/淡入行为

php - jquery发送带有附件的电子邮件

javascript - Angular ngRepeat html内容

javascript - WebGL 中的低 FPS(作为 2d 工作)

javascript - 如何在jquery中使用 `this`调用多个id

javascript - 未捕获的类型错误 : undefined is not a function when using a jQuery plugin in Magento

javascript - 使用 AJAX 将表单提交到两个位置