从嵌入式iframe中获取全局变量

时间:2011-05-17 18:52:56

标签: javascript iframe

说HTML页面(Page.htm)包含以下内容......

<script type="text/javascript">
    var vara = 'varA';
</script>

现在,此页面将从另一个页面加载到iframe中,其中包含...

<iframe id="child_frame" src="http://mysite.com/Page.htm" />

从父页面,我想从Page.htm获取全局'vara'的值。

以下所有行均不起作用......

    window.frames['child_frame'].window.vara;

    window.frames['child_frame'].window['vara'];

    window.frames['child_frame'].contentWindow['vara']; 
    // in fact contentWindow returns undefined!!

任何帮助将不胜感激!

更新

在更多地查看这个问题,并尝试各种可用于解决此问题的库之后,我有了顿悟,因为我对主要和iframe嵌入式网站都有IIS控制,所以我可以在跨域工作脚本规则通过使用相同的基本URL为各种网站。此外,解决问题的库似乎需要不断更新,因为浏览器供应商通过持续更新来加强其安全性。为了避免浏览器试图阻止你做什么,必须始终更新解决方法真的是件苦差事。

2 个答案:

答案 0 :(得分:4)

您的第一个语法应该 IF 您使用相同的doamin

如果IFRAME正在从其他域加载某个网页,那么您将无法访问该网页。

答案 1 :(得分:2)

这:

<iframe id="child_frame" src="http://" />

应该是:

<iframe name="child_frame" src="http://" />

iframe属性&#34; id&#34;应更改为&#34; name&#34;。