Web编程前端之6:js刷新页面大全

一、先来看一个简单的例子:         下面以三个页面分别命名为frame.htmltop.htmlbottom.html为例来具体说明如何做。         
        frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:

1 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 2 < HTML > 3 < HEAD > 4 < TITLE > frame </ TITLE > 5 </ HEAD > 6 < frameset rows ="50%,50%" > 7    < frame name =top src ="top.html" > 8    < frame name =bottom src ="bottom.html" > 9 </ frameset > 10 </ HTML >

             现在假设top.html (即上面的页面) 有七个button来实现对bottom.html (即下面的页面) 的刷新,可以用以下七种语句,哪个好用自己看着办了。      

1 top.html 页面的代码如下: 2 3 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 4 < HTML > 5 < HEAD > 6 < TITLE > top.html </ TITLE > 7 </ HEAD > 8 < BODY > 9   < input type =button value ="刷新1" onclick ="window.parent.frames[1].location.reload()" >< br > 10   < input type =button value ="刷新2" onclick ="window.parent.frames.bottom.location.reload()" >< br > 11   < input type =button value ="刷新3" onclick ="window.parent.frames['bottom'].location.reload()" >< br >   12   < input type =button value ="刷新4" onclick ="window.parent.frames.item(1).location.reload()" >< br > 13   < input type =button value ="刷新5" onclick ="window.parent.frames.item('bottom').location.reload()" >< br > 14   < input type =button value ="刷新6" onclick ="window.parent.bottom.location.reload()" >< br > 15   < input type =button value ="刷新7" onclick ="window.parent['bottom'].location.reload()" >< br > 16 </ BODY > 17 </ HTML > 18

          
           下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面弹出一个对话框。  

1 2 <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 3 < HTML > 4 < HEAD > 5 < TITLE > bottom.html </ TITLE > 6 </ HEAD > 7 < BODY onload ="alert('我被加载了!')" > 8    < h1 > This is the content in bottom.html. </ h1 > 9 </ BODY > 10 </ HTML >

              解释一下:

1.window指代的是当前页面,例如对于此例它指的是top.html页面。 2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。 3.frames是window对象,是一个数组。代表着该框架内所有子页面。 4.item是方法。返回数组里面的元素。 5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。 附: Javascript刷新页面的几种方法: 1 history.go(0) 2 location.reload() 3 location=location 4 location.assign(location) 5 document.execCommand('Refresh') 6 window.navigate(location) 7 location.replace(location) 8 document.URL=location.href

二、自动刷新页面         1.页面自动刷新:把如下代码加入<head>区域中       

< meta http-equiv ="refresh" content ="20" > 其中20指每隔20秒刷新一次页面.

       2.页面自动跳转:把如下代码加入<head>区域中

< meta http-equiv ="refresh" content ="20;url=http://xcp.blogjava.net" > 其中20指隔20秒后跳转到http://xcp.blogjava.net页面

      3.页面自动刷新js版

< script language = " JavaScript " >     function myrefresh()     {            window.location.reload();     }     setTimeout('myrefresh()', 1000 ); // 指定1秒刷新一次 </ script >

三、java在写Servler,Action等程序时,要操作返回页面的话(如谈出了窗口,操作完成以后,关闭当前页面,刷新父页面)

1         PrintWriter out = response.getWriter(); 2         out.write( " <script  type=\ " text / javascript\ " > " ); 3          子窗口刷新父窗口 4          out.write( " self.opener.location.reload(); " ); 5          // 关闭窗口 6          out.write( " window.opener=null; " ); 7          out.write( " window.close(); " ); 8          out.write( " </script> " );

四、JS刷新框架的脚本语句         1.如何刷新包含该框架的页面用

< script language = JavaScript >   parent.location.reload(); </ script >

             2.子窗口刷新父窗口

< script language = JavaScript >     self.opener.location.reload(); </ script >

             3.如何刷新另一个框架的页面用 (上面的实例以说明了)

语句1. window.parent.frames[ 1 ].location.reload(); 语句2. window.parent.frames.bottom.location.reload(); 语句3. window.parent.frames[ " bottom " ].location.reload(); 语句4. window.parent.frames.item( 1 ).location.reload(); 语句5. window.parent.frames.item('bottom').location.reload(); 语句6. window.parent.bottom.location.reload(); 语句7. window.parent['bottom'].location.reload();

    
       4.如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。 

< body onload = " opener.location.reload() " > 开窗时刷新 < body onUnload = " opener.location.reload() " > 关闭时刷新 < script language = " javascript " >     window.opener.document.location.reload() </ script >

转载于:https://www.cnblogs.com/alvinyue/archive/2012/09/28/2707227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值