说到这两个的使用区别,就得结合window.history.go(-1);wondow.history.back();这两个方法的机制了。
这两个方法是根据服务器记录的请求决定该跳到哪个页面。
window.location.href("test.jsp");是向服务器发送请求的跳转
window.location.replace("test.jsp");是不向服务器发送请求的跳转
所以window.history.go(-1);wondow.history.back();配合window.location.href("test.jsp");使用是okay的。
以下三个页面的例子
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> This is 1 jsp </BODY> </HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> This is 2 jsp <br> <input type="button" value="go 3 jsp by window.location.replace" οnclick="window.location.replace('3.jsp');"> <br> <input type="button" value="go 3 jsp by window.location.href" οnclick="window.location.href('3.jsp');"> </BODY> </HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> This is 3 jsp <br> <input type="button" value="back by window.history.go(-1)" οnclick="window.history.go(-1);"> <br> <input type="button" value="back by window.history.back()" οnclick="window.history.back();"> </BODY> </HTML>