1、对父窗口里Form元素的访问
在DHTML Javascript代码里,window.parent 是iframe页面调用父页面对象,可以直接引用。
比如,我们需要在b.htm中要对a.htm中的username文本框赋值,我们应该在b.html中写
<script type=”text/javascript”>
var _parentWin = window.parent ;
_parentWin.form1.username.value = “xxxx” ;
</script>
2、对父窗口和iFrame窗口里javascript全局变量的访问
a.html 代码
<html>
<head>
<title>主页面</title>
<script>
/** 为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量 */
var parentVairous = “为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量”;
function parentInvokeIFrame()
{
var iframeTest = document.frames[”iframeTest”]; //使用document.getElementById(”iframeTest”);同样可以
alert(iframeTest.document.body.innerHTML);
alert(iframeTest.iFrameVair);
}
</script>
</head>
<body>
<form name=”form1″ id=”form1″>
<input type=”text” name=”username” id=”username”/>
<input type = “button” value = “父窗口调用IFrame子窗口中的内容” onclick = ‘parentInvokeIFrame()’/>
</form>
<iframe src=”b.html” width = ‘100%’ id = ‘iframeTest’></iframe>
</body>
</html>
b.html 代码
<html>
<head>
<title></title>
<script type=”text/javascript”>
/** 为测试父窗体调用IFrame子窗体的全局函数而添加的子窗口全局函数 */
var iFrameVair = “测试父窗体调用IFrame子窗体的全局函数”;
function UpdateParent()
{
var _parentWin = window.parent ;
_parentWin.form1.username.value = “xxxx” ;
}
function childInvokeParent()
{
var parentVairous = window.parent.window.parentVairous;
alert(parentVairous);
}
</script>
</head>
<body>
<form name=”form1″ id=”form1″>
<p> </p>
<p align=”center”>
<input type = “button”
name = “button”
id = “button”
value = “更新主页面的UserName内容”
onclick = “UpdateParent()”>
<input type = “button”
name = “button2″
id = “button2″
value = “测试IFrame子窗口调用父窗口的全局变量”
onclick = “childInvokeParent();”/>
</p>
<p> </p>
</form>
</body>
</html>
ps:不能跨DNS域获取,例如iframe的src是’http://www.xxx.ccc/’就不可以