窗口间的关系及交互(一)

    技术2022-05-11  73

    1.window.parent      

       当前窗口的上一级窗口,当前窗口可以是在iframe 中或是frameset 的一个frame中

    2.window.top   当前窗口的最顶级窗口。

       不管当前窗口是嵌了多少层或是通过iframe 或是frame嵌套,window.top 将返回最外层窗口。

      说明:如果当前窗口不在iframe 或frame 中,window.top 或window.parent 将返回本窗口对象。

    3.window.opener

        通过window.opener方式打开当前窗口的窗口。

    4.window.窗口名称

       访问当前窗口的子窗口通过window的name 来访问。

     

    举个简单的例子现在有a.htm,b.htm,c.htm,d.htm四个文件。

    a.htm

     

    <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html  xmlns ="http://www.w3.org/1999/xhtml"   > < head >      < title > 无标题页 </ title > </ head > < body  bgcolor ="blue" >     AAAAAAAAAAAA     < iframe  src ="b.htm"  name ="bChild" ></ iframe >      </ body > </ html >  

     

    b.htm

    <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html  xmlns ="http://www.w3.org/1999/xhtml"   > < head >      < title ></ title > </ head > < body  bgcolor ="green" >     BBBBBBBB     < input  type ="button"  value ="click"  onclick ="javascript:Show();"   /> </ body > </ html >   < script  type ="text/javascript" >      function  Show()    {        alert( " B的parent窗口是: " +  window.parent.location.pathname);        alert( " B的top窗口是: " +  window.top.location.pathname);                 var  a  =  window.parent;                alert( " a的parent窗口是: " +  a.parent.location.pathname);        alert( " a的top窗口是: " +  a.top.location.pathname);                 var  c  =  a.parent;                alert( " c的parent窗口是: " +  c.parent.location.pathname);        alert( " c的top窗口是: " +  c.top.location.pathname);                         var  d  =  window.top;                alert( " d.cChild窗口是 " +  d.cChild.location.pathname);        alert( " a.bChild窗口是 " +  a.bChild.location.pathname);                    }  </ script >

     

     c.htm 

    < html >      < body   bgcolor ="red" >         CCCCCCCCCC         < iframe  src ="a.htm" ></ iframe >      </ body > </ html >  

    d.htm

    < html >      < frameset  rows ="50%,*" >          < frame  src ="c.htm"  name ="cChild"   />          < frame  />       </ frameset > </ html >

     

    通过浏览器访问d.htm就可以看出这几个窗口之间的关系。具体不在详述。

     

     

     


    最新回复(0)