今天看书看到了窗体之间的关系,从中包括了父窗口中包含多个子窗口的获取,下面我就记录一下,防止忘记。 代码如下: 便于测试将新建两个html文件,其中一个为父窗口main.html,另一个为子窗口child.html
main.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<iframe src="wenzi.html" id="f1"></iframe>
<div id="parentId">我是父窗口</div>
</body>
</html>
<script type="text/javascript">
window.onload = function (){
//父窗口获取子窗口有两种方法,
//第一种方法是:每个<iframe>都有一个contentWindow属性, 通过contentWindow可获取子窗口;
//第二种方法是:window对象有frames属性,它是一个类数组对象,可以通过数字或窗体名进行索引
//var childFrame = document.getElementById('f1').contentWindow;
var childFrame = window.frames[0];
alert('父窗口获取子窗口弹出: '+ childFrame.document.getElementById('test').innerHTML)
}
</script>
child.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<div id="test" name="childDIV">我是子窗口</div>
</body>
</html>
<script type="text/javascript">
var p = window.parent;
alert('子窗口获取父窗口弹出:' + p.document.getElementById('parentId').innerHTML)
</script>
其中谷歌浏览器必须在服务器中运行才能看到效果。
如果看客有什么疑问可以共同探讨,本人QQ:314186096