javascript调用父窗口(父页面)的方法

作者:互联网

2009-06-11

Javascript教程

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

  
           
   
  
      
  
 


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

Html代码
 
 
实例地址:  实例/a.html
源码:
1.a.html
Html代码
  
  
    主页面  
      
  
  

  
      
      
  
  
  
 
 
1.b.html
Html代码
  
       
           
           
      
  
    
  
        

 

  
        

  
                               name = "button"    
                   id = "button"    
                   value = "更新主页面的UserName内容"    
                   onclick = "UpdateParent()">  
                                     name = "button2"  
                         id = "button2"  
                         value = "测试IFrame子窗口调用父窗口的全局变量"  
                         onclick = "childInvokeParent();"/>  
        

  
        

 

  
    
  
  
   
ps:不能跨域获取,例如iframe的src是'http://www.xx***x.ccc/'就不可以
2:   window.opener 是window.open 打开的子页面调用父页面对象
实例地址:  实例/a.html
源码:
2.a.html
Html代码
  
  
     主页面  
       
  
  
   
  
          
          
          
   
  
  
 
 
2.b.html
Html代码
  
      
        子页面  
          
      
  
  

 

  

  
                   onclick = "UpdateParent();"    
               name="button"    
               id="button"    
               value="更新主页面的UserName内容">  
               name = "button2"     
           id = "button2"     
           value = "测试IFrame子窗口调用父窗口的全局变量"     
           onclick = "childInvokeParent();"/>     

  

 

  
  
 
 经过hanjs的提醒,确实需要注意的是,模态窗口的子窗口是没有办法修改父窗口页面中的任何内容的。
例如修改:OpenWindow = window.open('b.html', 'newwindow', 'height=1024, width=1300, top=0, left=0, toolbar=no, menubar=yes, scrollbars=yes,resizable=yes,location=no, status=no');
为:OpenWindow = window.showModalDialog("b.html",'newwindow',"dialogHeight:100px,center:yes,resizable:no,status:no");
在子窗口中当希望修改父窗口中的内容时,会弹出“某某”为空或不是对象的错误,而这里的“某某”就是你想修改的父窗口中的内容

相关标签:

Javascript