繁体   English   中英

JavaScript:从iframe关闭窗口

[英]JavaScript: closing window from iframe

我有一个从站点S1加载的页面P1,其中包含iframe。 该iframe从另一个站点S2加载页面P2。 在某个时候,P2想要关闭浏览器窗口,其中包含从S1加载的P1。 当然,由于P2是从另一个站点加载的,因此不能仅执行parent.close()。

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

恐怕这是不可能的。 由于安全问题,严格禁止将iframe中的JavaScript加载到另一个网站上,然后再将其呈现在另一个网站上。

但是,如果将iframe指向同一个网站,则可以使用以下方法:

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

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

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

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

仅将它们设置为伪域名,没有尝试过,或者只是简单地使用“ .com”或类似内容,可能会起作用。

看来这个家伙在iframe之间使用了跨域JavaScript。

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

暂无
暂无

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

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