重新整理頁面,後退

來源:互聯網
上載者:User
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   ------------------------------------------------------------------------------------------------------ 區別window.location.Reload()和window.location.href=window.location.href;

<a onclick="javascript:window.location.href=window.location.href;">

<a onclick="javascript:window.location.reload();">

測試效果一樣。表單沒有提交。

<input type="submit" onclick="javascript:window.location.reload();" value="單擊" id="btnVCode" />
<input type="submit" onclick="javascript:window.location.href=window.location.href;" value="單擊" id="btnVCode" />

都提交資料

 

window.location.Reload()應該是重新整理.(如果有資料提交的話,會提示是否提交的(是和否選項))
window.location.href=window.location.href; 是定向url提交資料

最好不要用location.reload(),而用location=location比較好,還有在強制回應視窗(showModalDialog和showModelessDialog)前者不能用。

 

reload參數有true和false,比較有意思?

 

-----------------------------------------------------------------------------

 

2個方法都是重新整理父視窗,但是其中還是有奧妙的哦。
window.opener.location.reload();這個方法在強迫父視窗的時候,在有些IE瀏覽器(比如安全設定高)的情況下,會彈出一個確認對話方塊,提示是不是要重新再重新整理一次頁面,這可是比較鬱悶的事情哦,我後來把這個方法替換成了window.opener.location.href=window.opener.location.href;
就不會出現那樣的問題了。  --------------------------------------------------------------------------- 在<body   onunload="window.opener.location.reload();">   ,這樣在子視窗銷毀的時候自動重新整理主視窗 --------------------------------------------------------------------------“前進” 與“後退”                   function   back()    
                  {    
                          window.history.back()    
                  }    
                  function   forward()    
                  {    
                          window.history.forward()    
                  }    
                  function   back2()    
                  {    
                          window.history.go(-2)    
                  }    
                  function   forward2()    
                  {    
                          window.history.go(2)    
                  }    
-----------------------------------------------------------

js重新整理視窗:window.location.replace(window.location.href)

window.location.reload();

window.history.go(0);

window.location.assign(window.location.href)

window.location.href和window.location.replace的區別:

1.html -> 2.html -> 3.html

系統從1.html到2.html後,2中有兩個按鈕,btn1是window.location.href=3.html, btn2是window.location.replace(3.html), 當點擊btn1後在3中用window.history.go(-1);window.history.back();返回的是1.html,

而點擊btn2進入3時,用window.history.go(-1);wondow.history.back();返回的是2.html

 

--------------------------------------------------------

window.location.href和window.location.replace的親身體驗與區別

當用window.location.href是使用window.history.go(-1)或window.history.back()是管用的

當用window.location.replace('url')是使用window.history.go(-1)或window.history.back()是不管用的

window.location.replace("3.jsp");是不向伺服器發送請求的跳轉

window.history.go(-1);window.history.back();方法是根據伺服器記錄的請求決定該跳到哪個頁面的

window.location.href("3.jsp");是向伺服器發送請求的跳轉,window.history.go(-1);wondow.history.back();方法是根據伺服器記錄的請求決定該跳到哪個頁面的

有3個jsp頁面(1.jsp, 2.jsp, 3.jsp),進系統預設的是1.jsp ,當我進入2.jsp的時候, 2.jsp裡面用window.location.replace("3.jsp");與用window.location.href("3.jsp");從使用者介面來看是沒有什麼區別的,但是當3.jsp頁面有一個“返回”按鈕,調用window.history.go(-1);wondow.history.back();方法的時候,一點這個返回按鈕就要返回2.jsp頁面的話,區別就出來了,當用window.location.replace("3.jsp");連到3.jsp頁面的話,3.jsp頁面中的調用window.history.go(-1);wondow.history.back();方法是不好用的,會返回到1.jsp 。當用window.location.href("3.jsp");連到3.jsp頁面的話,3.jsp頁面中的調用window.history.go(-1);wondow.history.back();方法是好用的,會返回2.jsp。因為window.location.replace("3.jsp");是不向伺服器發送請求的跳轉,而window.history.go(-1);wondow.history.back();方法是根據伺服器記錄的請求決定該跳到哪個頁面的,所以會跳到系統預設頁面1.jsp 。window.location.href("3.jsp");是向伺服器發送請求的跳轉,window.history.go(-1);wondow.history.back();方法是根據伺服器記錄的請求決定該跳到哪個頁面的,所以就可以返回到2.jsp。

 

--------------------------------------------------------

 

<input   type=button   value=重新整理   onclick="window.location.reload()">  
  <input   type=button   value=前進   onclick="window.history.go(1)">  
  <input   type=button   value=後退   onclick="window.history.go(-1)">  
  <input   type=button   value=前進   onclick="window.history.forward()">  
  <input   type=button   value=後退   onclick="window.history.back()">

 後退+重新整理<input   type=button   value=後退   onclick="window.history.go(-1);window.location.reload()">
在C# Web程式中,如為頁面按鈕寫返回上一頁代碼

this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>");

其中,history.go(-2),要寫為-2,因在按鈕事件觸發前,已重新整理一次頁面,所以應是-2。

Response.Write("<script language=javascript>history.go(-2);</script>");

此處也要寫為“-2”。跟直接寫指令碼的有所不同。 history.back()是會上一頁
i=1
history.go(i)去指定的某夜
如果是history.go(0)那就是重新整理   這兩個屬於JS代碼,相當於IE的前進、後退功能。
具體的用處就要看什麼時候需要這個就用上。比如使用者註冊時的驗證是後台驗證,不符合要求的時候就可以用這個,可以最大限度保證使用者少重複輸入資料。
例如:載入頁面:
  function onLoadPage(){
    if(event.srcElement.tagName=="SPAN"){
        oFrame=top.window.middle.frames[2];
        oTxt=event.srcElement.innerText;
        switch(oTxt){
            case "前 進":
                oFrame.history.go(1);
            case "後 退":
                oFrame.history.back();
            case "刷 新":
                oFrame.location.reload();
        }
    }
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.