从跨域iframe访问父窗口变量

从跨域iframe访问父窗口变量,iframe,cross-domain,Iframe,Cross Domain,里面 var a=1; 里面 警报(父级a);//被禁止的 任何解决方法?从iframe可以访问父DOM节点,但不能访问父窗口变量。如果需要与其他帧通信,可以使用。这仅适用于现代浏览器(IE8、FF3、Opera9、Chrome) 由于安全原因(),您无法完全访问跨域帧。 跨域读取数据会带来安全风险,因为另一个域上的数据可能包含敏感信息(即身份验证令牌) 可以将数据发布到另一个域。因此,在这种情况下,您可以尝试: domain2.com/test2.html向mydomain1.com

里面


var a=1;
里面


警报(父级a);//被禁止的

任何解决方法?

从iframe可以访问父DOM节点,但不能访问父窗口变量。

如果需要与其他帧通信,可以使用。这仅适用于现代浏览器(IE8、FF3、Opera9、Chrome)

由于安全原因(),您无法完全访问跨域帧。

  • 跨域读取数据会带来安全风险,因为另一个域上的数据可能包含敏感信息(即身份验证令牌)
  • 可以将数据发布到另一个域。因此,在这种情况下,您可以尝试:

    • domain2.com/test2.html向mydomain1.com/index.html发送一条消息,询问“a”值
    • mydomain1.com/index.html收到消息后,可以通过向domain2.com/test2.html发送“a”值进行回复
  • 这意味着您需要在两个域上设置事件侦听器,以接收从另一个域发布的消息


不,甚至不是节点,因为iframe位于不同的域上。根本没有解决办法?
<html>
<body>
<script type="text/javascript">
  var a = 1;
</script>
<iframe src="http://domain2.com/test2.html"></iframe>
</body>
</html>
<script type="text/javascript">
  alert(parent.a); // forbidden
</script>