一、JS方式的頁面跳轉
1.window.location.href方式
<script language="JavaScript" type="text/javascript">
window.location.href="top.jsp";
</script>
注意如果top.jsp中有iframe標籤,則top.jsp頁面將會在iframe中被開啟。
2.window.loction.replace方式實現頁面跳轉,注意跟第一種方式的區別
<script language="javascript">
window.location.replace("http://www.dayanmei.com");
</script>
有3個jsp頁面(a.jsp, b.jsp, c.jsp),進系統預設的是a.jsp ,當我進入b.jsp的時候, b.jsp裡面用window.location.replace("c.jsp");與用window.location.href ="c.jsp";從使用者介面來看是沒有什麼區別的,但是當c.jsp頁面有一個"返回"按鈕,呼叫window.history.go(-1); wondow.history.back();方法的時候,一點這個返回按鈕就要返回b.jsp頁面的話,區別就出來了,當用 window.location.replace("c.jsp");連到c.jsp頁面的話,c.jsp頁面中的呼叫 window.history.go(-1);wondow.history.back();方法是不好用的,會返回到a.jsp 。
3.self.location方式實現頁面跳轉,和下面的top.location有小小區別
<script language="JavaScript">
self.location='top.htm';
</script>
4.top.location
<script language="javascript">
top.location='xx.jsp';
</script>
5.不推薦這種方式跳轉
<script language="javascript">
window.history.back(-1);
</script>
6.頁面自動重新整理:把如下程式碼加入<head>區域中 <meta http-equiv="refresh" content="20"> 其中20指每隔20秒重新整理一次頁面.
7.<a href="javascript:history.go(-1)">返回上一步</a>
8.<a href="<%=Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a>
9.<a href="javascript:" onClick="window.open('http://hi.baidu.com/630270730','','height=500,width=611,scrollbars=yes,status=yes')">開啟新視窗</a>
10..window.history.forward()返回下一頁
11. window.history.go(返回第幾頁,也可以使用訪問過的URL)
二、iframe中頁面跳轉
1.iframe頁面跳轉:
"window.location.href"、"location.href"是本頁面跳轉
"parent.location.href"是上一層頁面跳轉
"top.location.href"是最外層的頁面跳轉
例:如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫
"window.location.href"、"location.href":D頁面跳轉
"parent.location.href":C頁面跳轉
"top.location.href":A頁面跳轉
2.iframe中的target
如果D頁面中有form的話, form提交後D頁面跳轉
<form target="_blank">: form提交後彈出新頁面
<form target="_parent">: form提交後C頁面跳轉
<form target="_top"> : form提交後A頁面跳轉
三.iframe頁面重新整理
D 頁面中這樣寫:"parent.location.reload();": C頁面重新整理
(當然,也可以使用子視窗的 opener 物件來獲得父視窗的物件:window.opener.document.location.reload(); )
"top.location.reload();": A頁面重新整理
window.location.href = window.location.href 也可以實現頁面重新整理,它與reload的區別是:如果在reload之前想伺服器提交過資料,那麼執行reload會重新執行這個提交操作。 而window.location.href = window.location.href 則不會,因為它是重新進入頁面。
//子視窗重新整理父視窗
<script language=JavaScript>
self.opener.location.reload();
</script>
(或<a href="javascript:opener.location.reload()">重新整理</a> )
//如何重新整理另一個框架的頁面用
<script language=JavaScript>
parent.另一FrameID.location.reload();
</script>