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

Joh*_*ore 7 javascript iframe

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

<script type="text/javascript">
    var vara = 'varA';
</script>
Run Code Online (Sandbox Code Playgroud)

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

<iframe id="child_frame" src="http://mysite.com/Page.htm" />
Run Code Online (Sandbox Code Playgroud)

从父页面,我想从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!!
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

UPDATE

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

Pau*_*tos 4

如果您位于同一个 doamin上,您的第一个语法应该可以工作。

如果IFRAME正在从另一个域加载页面,那么您将无法访问它。