【问题标题】:Accessing Iframe Variable in Parent With Javascript使用 Javascript 访问父级中的 iframe 变量
【发布时间】:2012-05-24 05:21:59
【问题描述】:

我知道 Stack Overflow 上已经有非常相似的问题,但我已经尝试了很多,但什么也没得到。我正在尝试从子 iframe 中获取一个变量以在父窗口中使用。

在 child.html 头标签中

<script type="text/javascript">
    var myVar="1";
</script>

在 parent.html 中

<script type="text/javascript">
function load()
{
    var scroll="0"; 
    scroll = window.myIframe.myVar;
    if (scroll == "0") DO SOMETHING;
    else DO SOMETHING ELSE;
}
</script>
<iframe src="child.html" name="myIframe" onload="load()">
<p>Your browser does not support iframes.</p>
</iframe>

无论我尝试什么,我都无法滚动以从子 iframe 中获取 myVar 变量。这几乎是 Stack Overflow 和其他论坛上人们认为效果很好的示例的逐字记录;任何想法我做错了什么?

编辑:它们在同一个域中。

【问题讨论】:

标签: javascript variables iframe


【解决方案1】:

我在离线状态下尝试了您的代码,但在访问时出现“不安全访问”错误

window.myFrame

本地页面可能很棘手,但是当我将相同的文件放到网上时,它们运行良好,域和端口匹配。 我仍然认为在 iframe 上使用 name="..." 有点奇怪,我会使用 ID,但这似乎不会打扰 chrome,我可以通过父或子上的 onload 访问变量。

【讨论】:

    【解决方案2】:

    当页面在 iframe 中加载时,尝试从内部子级访问 oad()。

    添加孩子:

    <body onload="parent.load()">
    

    此外,您可以更改代码以传递并获取变量作为 load(prm) 中的参数。

    【讨论】:

    • 感谢您的建议,这最终引发了我可以追踪的错误消息。 . .这是我没有意识到存在的(叹息)跨浏览器安全性。
    猜你喜欢
    • 2012-11-25
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2021-09-21
    • 1970-01-01
    相关资源
    最近更新 更多