js頁面跳轉

SieSteven發表於2015-11-30

js方式的頁面跳轉
1.window.location.href方式
    <script language="javascript" type="text/javascript">
           window.location.href="http://www.dayanmei.com/"; 
    </script>

2.window.navigate方式跳轉
   <script language="javascript">
    window.navigate("top.jsp");
  </script>
3.window.loction.replace方式實現頁面跳轉,注意跟第一種方式的區別
<script language="javascript">
    window.location.replace("http://www.dayanmei.com");
</script>
有3個jsp頁面(1.jsp, 2.jsp, 3.jsp),進系統預設的是1.jsp ,當我進入2.jsp的時候, 2.jsp裡面用window.location.replace("3.jsp");與用window.location.href ("3.jsp");從使用者介面來看是沒有什麼區別的,但是當3.jsp頁面有一個"返回"按鈕,呼叫window.history.go(-1); wondow.history.back();方法的時候,一點這個返回按鈕就要返回2.jsp頁面的話,區別就出來了,當用 window.location.replace("3.jsp");連到3.jsp頁面的話,3.jsp頁面中的呼叫 window.history.go(-1);wondow.history.back();方法是不好用的,會返回到1.jsp 。
4.
<script language="javascript"> 
alert("返回"); 
window.history.back(-1); 
</script>
5.
<script language="javascript" type="text/javascript"> 
window.location.href="jb51.jsp?backurl="+window.location.href; 
</script>
6.<script language="javascript"> 
window.navigate("jb51.jsp"); 
</script> 
7.
<script language="JavaScript"> 
self.location='jb51.htm'; 
</script> 

ASP.NET頁面跳轉的幾種方

 

 
1.         <a href=”test.aspx”></a>
2.         這是最常見的一種轉向方法;
 
HyperLink控制元件
1.         Asp.net 伺服器端控制元件 屬性NavigateUrl指定要跳轉到的Url地址
2.         NavigateUrl是可以在伺服器端使用程式碼修改,這個區別於<a>
3.         由於HyperLink本身沒有事件所以要在伺服器端其它事件中設定NavigateUrl
4.         程式碼示例
<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test.aspx”>ok</Asp:HyperLink>
 
Response.Redirect()方法
1.         過程:傳送一個Http響應到客戶端,通知客戶端跳轉到一個新的頁面,然後客戶端再傳送跳轉請求到伺服器端。
2.         頁面跳轉之後內部控制元件儲存的所有資訊丟失,當A跳轉到B,B頁面將不能訪問A頁面提交的資料資訊。
3.         使用這個方法使用這個方法跳轉後瀏覽器位址列的Url資訊改變
4.         可以使用Session Cookies Application等物件進行頁面間的資料傳遞
5.         重定向操作發生在客戶端,總共涉及到兩次與Web伺服器的通訊:一次是對原始頁面的請求,另一次是重定向新頁面的請求

Server.Transfer()方法
1.         實現頁面跳轉的同時將頁面的控制權進行移交
2.         頁面跳轉過程中Request Session等儲存的資訊不變,跳轉之後可以使用上一個頁面提交的資料
3.         跳轉之後瀏覽器位址列的Url不變
4.         這種方法的重定向請求是在伺服器端的進行的,瀏覽器不知道頁面已經發生了一次跳轉
 
Server.Execute()方法
1.         該方法允許當前頁面執行同一個Web伺服器上的另一個頁面
2.         頁面執行完畢之後重新回到原始頁面發出Server.Execute()的位置。
3.         這種方式類似針對頁面的一次函式呼叫 被請求的頁面可以使用原始頁面的表單資料和查詢字串集合
4.         被呼叫頁面的Page指令的EnableViewStateMac屬性設定為False
 
JavaScript
        string str = "<script language=javascript>history.go(-2);</script>";
        Response.Write(str);
話題相關:
1.         為了確保HTML輸出的合法性 最好使用Response.Redirect方法;因為Server.Execute 或者Server.Transfer方法返回給客戶端的頁面包含多個<Html><body>標記,不是合法的HTML頁面,在非IE瀏覽器中可能會發生錯誤。
2.         由於Server.Transfer在伺服器端執行重定向,所以避免了不必要的網路通訊,從而獲得了更好的效能和瀏覽效果

相關文章