JavaScript:从iframe关闭窗口

时间:2008-11-13 07:20:50

标签: javascript iframe

我从网站S1加载了一个包含iframe的页面P1。该iframe从另一个站点S2加载页面P2。在某些时候,P2想关闭浏览器窗口,其中包含从S1加载的P1。当然,由于P2是从另一个站点加载的,所以它不能只做parent.close()。

我可以完全控制P1和P2,因此我可以根据需要为P1和P2添加JavaScript代码。 关于如何解决这个问题的建议?

4 个答案:

答案 0 :(得分:1)

我担心这是不可能的。由于安全问题,严禁将iframe中的JavaScript加载到不同的网站,然后再将其呈现在该网站上。

但是,如果iframe指向同一个网站,您可以像:

<iframe name = "frame1" src = "http://yoursite">
</iframe>

<script type = "text/javascript">
    alert(window.frames["frame1"].document);
</script>

答案 1 :(得分:0)

如果它们来自同一个域,您可以修改安全限制以允许在子域之间进行修改。

设置document.domain =“domain.com”; //在两个页面上,他们可以互相修改。

可能只是将它们设置为虚假域,没有尝试过,或只是简单地“.com”或其他东西。

答案 2 :(得分:0)

看起来this guy在iframe之间运行跨域JavaScript。

答案 3 :(得分:0)

您可以使用Flash执行此操作。将用户发送到您使用带有_top目标的URLRequest控制的新顶级页面,并使该页面包含执行window.close()的javascript。