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 (即下面的頁面) 的刷新,可以用以下七種語句,哪個好用自己看着辦了。      

 1top.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> 
發佈了29 篇原創文章 · 獲贊 14 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章