javascript控制頁面(含iframe進行頁面跳轉)跳轉、重新整理的方法彙總

Franson發表於2017-06-05

一、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>

相關文章