日期:2014-05-16  浏览次数:20377 次

window.parent与window.opener的区别 javascript调用主窗口方法
window.parent与window.opener的区别 javascript调用主窗口方法
1:   window.parent 是iframe页面调用父页面对象
举例:
a.html

Html代码
<html> 
    <head><title>父页面</title></head> 
<body> 
    <form name="form1" id="form1"> 
         <input type="text" name="username" id="username"/> 
    </form> 
    <iframe src="b.html" width=100%></iframe> 
</body> 
</html> 

如果我们需要在b.htm中要对a.htm中的username文本框赋值,就如很多上传功能,上传功能页在Ifrmae中,上传成功后把上传后的路径放入父页面的文本框中
我们应该在b.html中写

Html代码
<script type="text/javascript"> 
    var _parentWin = window.parent ; 
    _parentWin.form1.username.value = "xxxx" ; 
</script> 

实例地址:  http://www.cnspry.cn/blog/attachments/window.parent 实例/a.html
源码:
1.a.html

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> 

1.b.html

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() 
       &nbs