0

我知道 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 和其他论坛上人们认为效果很好的示例的逐字记录;任何想法我做错了什么?

编辑: 他们在同一个域上。

4

2 回答 2

1

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

添加孩子:

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

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

于 2012-05-16T16:41:01.317 回答
0

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

window.myFrame

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

于 2012-05-16T16:47:17.517 回答