window.location.href的用法(動(dòng)態(tài)輸出跳轉(zhuǎn))
無(wú)論在靜態(tài)頁(yè)面還是動(dòng)態(tài)輸出頁(yè)面中window.location.href都是不錯(cuò)的用了跳轉(zhuǎn)的實(shí)現(xiàn)方案
javascript中的location.href有很多種用法,主要如下。
self.location.href="/url" 當(dāng)前頁(yè)面打開(kāi)URL頁(yè)面
location.href="/url" 當(dāng)前頁(yè)面打開(kāi)URL頁(yè)面
windows.location.href="/url" 當(dāng)前頁(yè)面打開(kāi)URL頁(yè)面,前面三個(gè)用法相同。
this.location.href="/url" 當(dāng)前頁(yè)面打開(kāi)URL頁(yè)面
parent.location.href="/url" 在父頁(yè)面打開(kāi)新頁(yè)面
top.location.href="/url" 在頂層頁(yè)面打開(kāi)新頁(yè)面
如果頁(yè)面中自定義了frame,那么可將parent self top換為自定義frame的名稱,效果是在frame窗口打開(kāi)url地址
此外,window.location.href=window.location.href;和window.location.Reload()和都是刷新當(dāng)前頁(yè)面。區(qū)別在于是否有提交數(shù)據(jù)。當(dāng)有提交數(shù)據(jù)時(shí),window.location.Reload()會(huì)提示是否提交,window.location.href=window.location.href;則是向指定的url提交數(shù)據(jù)
在寫(xiě)ASP.Net程序的時(shí)候,我們經(jīng)常遇到跳轉(zhuǎn)頁(yè)面的問(wèn)題,我們經(jīng)常使用Response.Redirect 做ASP.NET框架頁(yè)跳轉(zhuǎn),如果客戶要在跳轉(zhuǎn)的時(shí)候使用提示,這個(gè)就不靈光了,如:
復(fù)制代碼 代碼如下:
Response.Write("< script>alert('恭喜您,注冊(cè)成功!');< /script>");
Response.Redirect("main.html");
這時(shí)候我們的提示內(nèi)容沒(méi)有出來(lái)就跳轉(zhuǎn)了,和Response.Redirect("main.html");沒(méi)有任何區(qū)別。
這時(shí)我們采用下面代碼試驗(yàn)一下:
ASP.NET框架頁(yè)跳轉(zhuǎn)的另一實(shí)現(xiàn)
復(fù)制代碼 代碼如下:
Response.Write("< script language=javascript>alert('恭喜您,注冊(cè)成功!')< /script>");
Response.Write("< script language=javascript>window.location.href='main.html'< /script>");
這個(gè)即實(shí)現(xiàn)了我們的要求,在提示后,跳轉(zhuǎn)頁(yè)面。
最重要的是window.location.href 語(yǔ)句可以實(shí)現(xiàn)一個(gè)框架的頁(yè)面在執(zhí)行服務(wù)器端代碼后刷新另一個(gè)框架的頁(yè)面(Response.Redirect無(wú)法達(dá)到,至少我沒(méi)有發(fā)現(xiàn)):
如:index.htm頁(yè)面中有二個(gè)框架,分別為 frameLeft和frameRight,在frameRight頁(yè)面中執(zhí)行服務(wù)器端代碼后刷新frameLeft中的頁(yè)面。
先前最常見(jiàn)的是注冊(cè)之后,自動(dòng)刷新登陸框,讓登陸框換成已登陸頁(yè)面,只要在注冊(cè)成功的代碼之后加上一段,即可以實(shí)現(xiàn)刷新另個(gè)框架的頁(yè)面。代碼如下:
復(fù)制代碼 代碼如下:
Response.Write("< script language=javascript>alert('恭喜您,注冊(cè)成功!')< /script>");
Response.Write("< script language=javascript>window.parent.frameLeft.location.href='main.html'< /script>");
這樣就搞定了ASP.NET框架頁(yè)跳轉(zhuǎn)中斷的問(wèn)題。其實(shí)asp、php中一般都使用這種方式。
"window.location.href"、"location.href"是本頁(yè)面跳轉(zhuǎn)
"parent.location.href"是上一層頁(yè)面跳轉(zhuǎn)
"top.location.href"是最外層的頁(yè)面跳轉(zhuǎn)
舉例說(shuō)明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫(xiě)
"window.location.href"、"location.href":D頁(yè)面跳轉(zhuǎn)
"parent.location.href":C頁(yè)面跳轉(zhuǎn)
"top.location.href":A頁(yè)面跳轉(zhuǎn)
如果D頁(yè)面中有form的話,
<form>: form提交后D頁(yè)面跳轉(zhuǎn)
<form target="_blank">: form提交后彈出新頁(yè)面
<form target="_parent">: form提交后C頁(yè)面跳轉(zhuǎn)
<form target="_top"> : form提交后A頁(yè)面跳轉(zhuǎn)
關(guān)于頁(yè)面刷新,D 頁(yè)面中這樣寫(xiě):
"parent.location.reload();": C頁(yè)面刷新 (當(dāng)然,也可以使用子窗口的 opener 對(duì)象來(lái)獲得父窗口的對(duì)象:window.opener.document.location.reload(); )
"top.location.reload();": A頁(yè)面刷新
信息首發(fā):window.location.href的用法(動(dòng)態(tài)輸出跳轉(zhuǎn))
今日頭條:
- 2015深圳事業(yè)單位招聘460名工作人員公告 報(bào)名1
- 深圳駕駛?cè)顺?00萬(wàn) 約17萬(wàn)人駕駛證異常
- 深圳保姆曝陪睡內(nèi)幕月薪達(dá)八千
- 新版百元大鈔今發(fā)行 快速識(shí)別新版人民幣
- 允許普遍二孩 中共全會(huì)公報(bào)允許普遍二孩政策
- 習(xí)近平將出席G20峰會(huì)全部正式活動(dòng)
- 地下錢(qián)莊轉(zhuǎn)移贓款 7個(gè)月轉(zhuǎn)移8000億 銀行內(nèi)鬼頻
- 男童玩槍射穿手掌 父親被刑拘
- 北京迎來(lái)今冬初雪 部分公交停駛地鐵限速
- 大學(xué)光棍節(jié)新規(guī) 網(wǎng)友:光棍節(jié)單身狗福利