js知識(shí)點(diǎn)3

人丑就該多看書

文章來自其他博文。

*.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è)面刷新









最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容