假设一个 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/