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

阅读更多

via: http://www.php100.com/html/webkaifa/javascript/2009/0213/1658.html

 

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.xxx.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_调用父窗口(父页面)的方法)