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

标签 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 来编写脚本规则。此外,解决该问题的库似乎需要不断更新,因为浏览器 vendor 通过不断更新加强了安全性。必须始终更新解决方法以规避浏览器试图阻止您执行的操作,这确实是一件苦差事。

最佳答案

如果你在同一个域,你的第一个语法应该可以工作。

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

关于javascript - 从嵌入式 iframe 中获取全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6035673/

相关文章:

javascript - NodeJS - 服务资源错误

javascript - 使用指令时未定义 ngModel - Angularjs Controller

javascript - 如何制作滑动图片/框架?

javascript - 扩展表格和 iframe 的脚本

javascript - 如何阻止 iframed 页面中的外部超链接?

jquery - 如何获取iframe的scrollTop

javascript - 获取嵌套 iframe 尺寸的正确方法

javascript - Vue.js 路由器查询数组

javascript - 如何使 jqPlot 与条形图示例一起使用

javascript - 自动填写第三方网站的详细信息