javascript中history.go()和history.back()的區別


原文講的比較詳細,我這邊只講history.go()和history.back()的區別。

為什么探討這個問題呢?主要是在編寫貼吧的時候碰到了返回上一頁的問題,具體情況是這樣的:

我在評論頁面設置了<a href="javascript:history.back()">返回</a>這樣一個返回按鈕,希望實現的功能是當我提交評論的時候

能夠點擊返回回到上一級頁面,也就是帖子目錄頁面。但是在現實實現中,我發現使用上面那個history.back()時,他只會返回刷新前的頁面,

這是我不得不對history.back()的實現方式提出疑問。查閱了該博客資料http://www.mikebai.com/Article/2009-11/757.html后發現,history.back()不論你傳了什么參數,例如-1,

null,1,-2,-3等值只能返回上一次刷新的頁面,而非進行N次跳轉。

在該博客的建議下,我使用了history.go()方法。

注意到每次提交評論是一個刷新頁面的過程,故將該方法中的參數寫活,就將刷新值令為renewCount,將每次刷新的次數傳進history.go(-renewCount)中。

最后不論在評論頁面提交幾次評論,都可以實現了上級跳轉,返回帖子頁面目錄。

 

 

~~~~~~~~~~~~~~~~~~~~貼出原文省的找了~~~~~~~~~~~~~~~~~~~

 

<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();
         }
     }
}


打開一個jsp頁面,肯定是用客戶端腳本進行刷新了。
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

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com