location.href 用法

本文轉自 http://blog.csdn.net/wksnm0724/article/details/37872787 

*.location.href 用法:
  top.location.href=”url”          在頂層頁面打開url(跳出框架)
  self.location.href=”url”         僅在本頁面打開url地址
  parent.location.href=”url”      在父窗口打開Url地址
  this.location.href=”url”       用法和self的用法一致
     if (top.location == self.location) 判斷當前location 是否爲頂層來 禁止frame引用
   如果頁面當中有自定義的frame的話,也可以將parent  self   top換爲自定義frame的名稱
     效果就是在自定義frame窗口打開url地址 
 
 javascript frame 刷新
引用: 
--------------------------------------------------------------------------------

這是一個簡單的事例:
以下是top.htm 代碼
<script language=javascript>
function rs(){
parent.left.location.href="top.htm"
parent.bot.location.href="top.htm"
}
</script>
<input type=button name=name value="ksdj" οnclick=rs();>

以下是一個隨意文件名的htm文件:
<FRAMESET COLS="150,*">
<FRAME SRC="left.htm" name=left>
<FRAMESET ROWS="150,*">
<FRAME SRC="top.htm" name=top>
<FRAME SRC="bot.htm" name=bot>
</FRAMESET>
</FRAMESET>
你自己試試,我想你要的可能就是這樣的效果!

--------------------------------------------------------------------------------


我引用樓上老兄的方法回覆,幫忙解釋一下吧。
以下是top.htm 代碼
<script language=javascript>
function rs(){
parent.left.location.href="top.htm" //partent指的是父頁,也就是最外面的框架頁,left只得是left.htm,location是left頁的一向對象,而href是location對象的一個屬性,就是該屬性確定了left的url地址。所以這裏就把你需要的地址給了這個parent.left。
parent.bot.location.href="top.htm" //此句意思同上面的大致一樣。
} //函數結束,實現了同時對兩個url的更新!
</script>
<input type=button name=name value="ksdj" οnclick=rs();>

以下是一個隨意文件名的htm文件:
<FRAMESET COLS="150,*">
<FRAME SRC="left.htm" name=left> > //給這個left.htm定義了一個名字叫left
<FRAMESET ROWS="150,*">
<FRAME SRC="top.htm" name=top> //給這個top.htm定義了一個名字叫top
<FRAME SRC="bot.htm" name=bot> //給這個bot.htm定義了一個名字叫bot
</FRAMESET>
</FRAMESET>

window 對象的 location 屬性包含了當前頁面的地址 (URL) 信息,你可以直接改變此屬性值,將其設置成新的地址 (URL):

window.location = "http://www.yahoo.com/";
或者
location = "http://www.yahoo.com/";

你還可以通過下邊的兩種方法中的任何一種來使瀏覽器從服務器上下載 (Load) 頁面:

reload() - 促使瀏覽器重新下載當前的頁面,也就是“刷新”當前頁面了。
replace(URL) - 促使瀏覽器根據 URL 參數中給出的地址 (URL) 下載頁面,同時在當前瀏覽器存儲的歷史記錄 (即所瀏覽過的頁面的列表) 中使用新的地址(即此方法中的 URL 參數) 覆蓋當前的頁面。
使用 replace() 方法意味着用戶將不能通過按 “返回” 按鈕回到前邊瀏覽過的那個頁面,但這並不是說用戶完全不能回到原來的所有頁面,他們只不過是無法回到被 replace() 方法替換的那一個頁面 (注意:只是被替換的那一個頁面)。

 framedemo.html,top.html,button.html爲例來具體說明如何做

其中framedemo.html由上下兩個頁面組成,代碼如下:

<frameset rows="50%,50%"><frame name=top src="top.html"><frame name=button src="button.html"></frameset>

現在假設top.html即上面的頁面有一個button來實現對下面頁面的刷新,可以用以下七種語句,哪個好用自己看着辦了。

語句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指代的是當前頁面,例如對於此例它指的是top.html頁面。

2.parent指的是當前頁面的父頁面,也就是包含它的框架頁面。例如對於此例它指的是framedemo.html。

3.frames是window對象,是一個數組。代表着該框架內所有子頁面。

4.item是方法。返回數組裏面的元素。

 
看了部分文章個人總結:
top.location是在頂層frame中打開新頁   
window.location是在當前frame中打開新頁
parent.location 在當前窗口的父窗口打開Url地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章