window.location.href的用法(動態(tài)輸出跳轉)
來源:易賢網 閱讀:903 次 日期:2014-08-11 11:07:09
溫馨提示:易賢網小編為您整理了“window.location.href的用法(動態(tài)輸出跳轉)”,方便廣大網友查閱!

javascript中的location.href有很多種用法,主要如下。

self.location.href="/url" 當前頁面打開URL頁面

location.href="/url" 當前頁面打開URL頁面

windows.location.href="/url" 當前頁面打開URL頁面,前面三個用法相同。

this.location.href="/url" 當前頁面打開URL頁面

parent.location.href="/url" 在父頁面打開新頁面

top.location.href="/url" 在頂層頁面打開新頁面

如果頁面中自定義了frame,那么可將parent self top換為自定義frame的名稱,效果是在frame窗口打開url地址

此外,window.location.href=window.location.href;和window.location.Reload()和都是刷新當前頁面。區(qū)別在于是否有提交數(shù)據。當有提交數(shù)據時,window.location.Reload()會提示是否提交,window.location.href=window.location.href;則是向指定的url提交數(shù)據

在寫ASP.Net程序的時候,我們經常遇到跳轉頁面的問題,我們經常使用Response.Redirect 做ASP.NET框架頁跳轉,如果客戶要在跳轉的時候使用提示,這個就不靈光了,如:

代碼如下:

Response.Write("< script>alert('恭喜您,注冊成功!');< /script>"); 

Response.Redirect("main.html");  

這時候我們的提示內容沒有出來就跳轉了,和Response.Redirect("main.html");沒有任何區(qū)別。

這時我們采用下面代碼試驗一下:

ASP.NET框架頁跳轉的另一實現(xiàn)

代碼如下:

Response.Write("< script language=javascript>alert('恭喜您,注冊成功!')< /script>"); 

Response.Write("< script language=javascript>window.location.href='main.html'< /script>");

這個即實現(xiàn)了我們的要求,在提示后,跳轉頁面。

最重要的是window.location.href 語句可以實現(xiàn)一個框架的頁面在執(zhí)行服務器端代碼后刷新另一個框架的頁面(Response.Redirect無法達到,至少我沒有發(fā)現(xiàn)):

如:index.htm頁面中有二個框架,分別為 frameLeft和frameRight,在frameRight頁面中執(zhí)行服務器端代碼后刷新frameLeft中的頁面。

先前最常見的是注冊之后,自動刷新登陸框,讓登陸框換成已登陸頁面,只要在注冊成功的代碼之后加上一段,即可以實現(xiàn)刷新另個框架的頁面。

代碼如下:

Response.Write("< script language=javascript>alert('恭喜您,注冊成功!')< /script>"); 

Response.Write("< script language=javascript>window.parent.frameLeft.location.href='main.html'< /script>");  

這樣就搞定了ASP.NET框架頁跳轉中斷的問題。其實asp、php中一般都使用這種方式。

"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頁面跳轉

如果D頁面中有form的話,

<form>: form提交后D頁面跳轉

<form target="_blank">: form提交后彈出新頁面

<form target="_parent">: form提交后C頁面跳轉

<form target="_top"> : form提交后A頁面跳轉

 

關于頁面刷新,D 頁面中這樣寫:

"parent.location.reload();": C頁面刷新 (當然,也可以使用子窗口的 opener 對象來獲得父窗口的對象:window.opener.document.location.reload(); )

"top.location.reload();": A頁面刷新

更多信息請查看IT技術專欄

更多信息請查看網絡編程

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網