我有一个从站点S1加载的页面P1,其中包含一个iframe。该iframe从另一个站点S2加载页面P2。在某些情况下,P2想要关闭浏览器窗口,其中包含从S1加载的P1。当然,因为P2是从另一个站点加载的,所以它不能只执行parent.close()。
我可以完全控制P1和P2,所以我可以根据需要将JavaScript代码添加到P1和P2中。关于如何解决这个问题的建议?
发布于 2008-11-13 07:55:09
恐怕这是不可能的。由于安全问题,严格禁止从加载到不同站点的iframe进行JavaScript。
但是,如果iframe指向相同的站点,您可以像这样访问它:
<iframe name = "frame1" src = "http://yoursite">
</iframe>
<script type = "text/javascript">
alert(window.frames["frame1"].document);
</script>发布于 2008-11-13 08:26:01
如果它们来自相同的域名,您可以修改安全限制,以允许在子域之间进行修改。
在两个页面上都设置document.domain = "domain.com";//可以互相修改。
如果只是将它们设置为一个伪造的域,没有尝试过,或者只是简单地".com“或其他什么,这可能会起作用。
发布于 2008-11-13 13:37:35
看起来像是this guy让跨域JavaScript在iframe之间工作。
https://stackoverflow.com/questions/286426
复制相似问题