人丑就該多看書
文章來自其他博文。
*.location.href 用法:
javascript>
function rs(){
parent.left.location.href="top.htm"
parent.bot.location.href="top.htm"
}
以下是一個(gè)隨意文件名的htm文件:
你自己試試,我想你要的可能就是這樣的效果!
--------------------------------------------------------------------------------
我引用樓上老兄的方法回復(fù),幫忙解釋一下吧。
以下是top.htm 代碼
function rs(){
parent.left.location.href="top.htm" //partent指的是父頁(yè),也就是最外面的框架頁(yè),left只得是left.htm,location是left頁(yè)的一向?qū)ο螅鴋ref是location對(duì)象的一個(gè)屬性,就是該屬性確定了left的url地址。所以這里就把你需要的地址給了這個(gè)parent.left。
parent.bot.location.href="top.htm" //此句意思同上面的大致一樣。
} //函數(shù)結(jié)束,實(shí)現(xiàn)了同時(shí)對(duì)兩個(gè)url的更新!
以下是一個(gè)隨意文件名的htm文件:
> //給這個(gè)left.htm定義了一個(gè)名字叫l(wèi)eft
//給這個(gè)top.htm定義了一個(gè)名字叫top
//給這個(gè)bot.htm定義了一個(gè)名字叫bot
window 對(duì)象的 location 屬性包含了當(dāng)前頁(yè)面的地址 (URL) 信息,你可以直接改變此屬性值,將其設(shè)置成新的地址 (URL):
window.location = "http://www.yahoo.com/";
或者
location = "http://www.yahoo.com/";
你還可以通過下邊的兩種方法中的任何一種來使瀏覽器從服務(wù)器上下載 (Load) 頁(yè)面:
reload() - 促使瀏覽器重新下載當(dāng)前的頁(yè)面,也就是“刷新”當(dāng)前頁(yè)面了。
replace(URL) - 促使瀏覽器根據(jù) URL 參數(shù)中給出的地址 (URL) 下載頁(yè)面,同時(shí)在當(dāng)前瀏覽器存儲(chǔ)的歷史記錄 (即所瀏覽過的頁(yè)面的列表) 中使用新的地址(即此方法中的 URL 參數(shù)) 覆蓋當(dāng)前的頁(yè)面。
使用 replace() 方法意味著用戶將不能通過按 “返回” 按鈕回到前邊瀏覽過的那個(gè)頁(yè)面,但這并不是說用戶完全不能回到原來的所有頁(yè)面,他們只不過是無法回到被 replace() 方法替換的那一個(gè)頁(yè)面 (注意:只是被替換的那一個(gè)頁(yè)面)。
framedemo.html,top.html,button.html為例來具體說明如何做
其中framedemo.html由上下兩個(gè)頁(yè)面組成,代碼如下:
現(xiàn)在假設(shè)top.html即上面的頁(yè)面有一個(gè)button來實(shí)現(xiàn)對(duì)下面頁(yè)面的刷新,可以用以下七種語句,哪個(gè)好用自己看著辦了。
語句1. window.parent.frames[1].location.reload();
語句2. window.parent.frames.bottom.location.reload();
語句3. window.parent.frames["bottom"].location.reload();
語句4. window.parent.frames.item(1).location.reload();
語句5. window.parent.frames.item('bottom').location.reload();
語句6. window.parent.bottom.location.reload();
語句7. window.parent['bottom'].location.reload();
解釋一下:
1.window指代的是當(dāng)前頁(yè)面,例如對(duì)于此例它指的是top.html頁(yè)面。
2.parent指的是當(dāng)前頁(yè)面的父頁(yè)面,也就是包含它的框架頁(yè)面。例如對(duì)于此例它指的是framedemo.html。
3.frames是window對(duì)象,是一個(gè)數(shù)組。代表著該框架內(nèi)所有子頁(yè)面。
4.item是方法。返回?cái)?shù)組里面的元素。
看了部分文章個(gè)人總結(jié):
top.location是在頂層frame中打開新頁(yè)
window.location是在當(dāng)前frame中打開新頁(yè)
parent.location 在當(dāng)前窗口的父窗口打開Url地址
Javascript中的location.href有很多種用法,主要如下:
self.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
ocation.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
windows.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面,前面三個(gè)用法相同。
this.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
parent.location.href="/url" 在父頁(yè)面打開新頁(yè)面
top.location.href="/url" 在頂層頁(yè)面打開新頁(yè)面
如果頁(yè)面中自定義了frame,那么可將parent self top換為自定義frame的名稱,效果是在frame窗口打開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ù)。
"window.location.href"、"location.href"是本頁(yè)面跳轉(zhuǎn)
"parent.location.href"是上一層頁(yè)面跳轉(zhuǎn)
"top.location.href"是最外層的頁(yè)面跳轉(zhuǎn)
舉例說明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫
"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提交后D頁(yè)面跳轉(zhuǎn)
: form提交后彈出新頁(yè)面
: form提交后C頁(yè)面跳轉(zhuǎn)
: form提交后A頁(yè)面跳轉(zhuǎn)
關(guān)于頁(yè)面刷新,D 頁(yè)面中這樣寫:
"parent.location.reload();": C頁(yè)面刷新 (當(dāng)然,也可以使用子窗口的 opener 對(duì)象來獲得父窗口的對(duì)象:window.opener.document.location.reload(); )
"top.location.reload();": A頁(yè)面刷新
javascript中的location.href有很多種用法,主要如下。
self.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
windows.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面,前面三個(gè)用法相同。
this.location.href="/url" 當(dāng)前頁(yè)面打開URL頁(yè)面
parent.location.href="/url" 在父頁(yè)面打開新頁(yè)面
top.location.href="/url" 在頂層頁(yè)面打開新頁(yè)面
如果頁(yè)面中自定義了frame,那么可將parent self top換為自定義frame的名稱,效果是在frame窗口打開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ù)
在寫ASP.Net程序的時(shí)候,我們經(jīng)常遇到跳轉(zhuǎn)頁(yè)面的問題,我們經(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)容沒有出來就跳轉(zhuǎn)了,和Response.Redirect("main.html");沒有任何區(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 語句可以實(shí)現(xiàn)一個(gè)框架的頁(yè)面在執(zhí)行服務(wù)器端代碼后刷新另一個(gè)框架的頁(yè)面(Response.Redirect無法達(dá)到,至少我沒有發(fā)現(xiàn)):
如:index.htm頁(yè)面中有二個(gè)框架,分別為 frameLeft和frameRight,在frameRight頁(yè)面中執(zhí)行服務(wù)器端代碼后刷新frameLeft中的頁(yè)面。
先前最常見的是注冊(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)中斷的問題。其實(shí)asp、php中一般都使用這種方式。
"window.location.href"、"location.href"是本頁(yè)面跳轉(zhuǎn)
"parent.location.href"是上一層頁(yè)面跳轉(zhuǎn)
"top.location.href"是最外層的頁(yè)面跳轉(zhuǎn)
舉例說明:
如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js這樣寫
"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提交后D頁(yè)面跳轉(zhuǎn)
: form提交后彈出新頁(yè)面
: form提交后C頁(yè)面跳轉(zhuǎn)
: form提交后A頁(yè)面跳轉(zhuǎn)
關(guān)于頁(yè)面刷新,D 頁(yè)面中這樣寫:
"parent.location.reload();": C頁(yè)面刷新 (當(dāng)然,也可以使用子窗口的 opener 對(duì)象來獲得父窗口的對(duì)象:window.opener.document.location.reload(); )
"top.location.reload();": A頁(yè)面刷新


