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.");