0
如何使用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']).'";
??????
这是我原本的,但有一个错误。 在Firefox中,当我使用 window.opener.location.href =“'。urldecode($ _ GET ['return_url'])。'”; 由于iframe或页面没有重新加载,它不会越过这条线,并且它不会关闭弹出窗口。 在Chrome中,窗口关闭,但iframe /页面不会重新加载 – 2012-04-03 13:42:56
@NolanKnill听起来像是一个跨站点脚本错误。你的iframe和弹出窗口必须共享相同的'document.domain',否则你不能在它们之间执行javascript。 – jbabey 2012-04-03 13:49:42
他们是相同的域,但不会window.opener.parent.location.href不工作,如果它是跨站点脚本? – 2012-04-03 13:51:31