我知道Stack Overflow上已经存在非常类似的问题了,但是我已经尝试了很多,但我什么都没得到。我正试图从子窗口中获取一个变量,以便在父窗口中使用。
在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和其他人们认为完美工作的论坛上的例子。任何想法我做错了什么?
修改:它们位于同一个域中。
答案 0 :(得分:1)
尝试在iframe中加载页面时从子项内部访问oad()。
加入儿童:
<body onload="parent.load()">
此外,您可以更改要传递的代码并将变量作为参数加载(prm)。
答案 1 :(得分:0)
我离线尝试了您的代码,在访问
时出现“不安全访问”错误window.myFrame
本地页面可能很棘手,但是当我将相同的文件放在网上时,它们运行良好,域和端口匹配。 仍然我觉得在iframe上使用name =“...”有点奇怪,我会使用ID,但这似乎并不打扰chrome,我可以通过父或子上的onload访问变量。 / p>