history.back(-1)和history.go(-1)的區別


history.back(-1):直接返回當前頁的上一頁,數據全部消息,是個新頁面

 

history.Go(-1):也是返回當前頁的上一頁,不過表單里的數據全部還在

 

history.back(0) 刷新 history.back(1) 前進 history.back(-1) 后退

 

<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()">

樣例:

js6.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
  </head>
 
  <body>
    <a href="js7.jsp">點擊</a>
  </body>
</html>

 

js7.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<html>
  <head>
  </head>
 
  <body>
    <a href="#" onclick="history.back(-1);return false;">返回</a>
  </body>
</html>

 

以上的例子:當沒有加return false;時返回的跳轉不會發生,因為當onclick執行后,接着執行的是

href="#",即是:localhost:8080/Servlet/js/js7.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()”>
后退+刷新s
<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();
}
}
}

go()方法只有一個參數,即前進或后退的頁面數

如果是負數,就在瀏覽器歷史中后退。如果是正數,就前進(這種差別就像Back和Forward按鈕之間的差別)。


因此,后退一頁,可用下面的代碼:

window.history.go(-1);

當然,window對象的引用不是必需的,也可使用下面的代碼:

history.go(-1);

通常用該方法創建網頁中嵌入的Back按鈕,例如:

<a href="javascript:history.go(-1)'>Back to the previous page</a>

要前進一頁,只需要使用正數;

history.go(1);

另外,用back()和forward()方法可以實現同樣的操作:

//go back one
history.back();


//go forward one
history.forward();

這些代碼更有意義一些,因為它們精確地反應出瀏覽器的Back和Forward按鈕的行為。

雖然不能使用瀏覽器歷史中的URL,但可以用length屬性查看歷史中的頁面數:

alert{"There are currently" + history.length +" pages in history.");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM