JavaScript視窗功能指南之命名視窗和框架 (轉)

gugu99發表於2007-11-25
JavaScript視窗功能指南之命名視窗和框架 (轉)[@more@]script視窗功能指南之命名視窗和
(作者:聽風編譯 2001年01月19日 11:35)

  當你建立一個框架結構的文件時,標記的NAME屬性定義了每一個框架的名字,如下:

  

  

  

  

  在例子中,文件包含2個框架:left和right。在文件toolbar.html中,連結程式碼就象下面的一樣:

  About Us

  Feedback

  注意,
標記同樣支援TARGET屬性,它定義了響應表單的目標視窗。而標記則指明瞭文件中所有連結的通用預設目標視窗:

  

  上面的標記定義了頁面中所有元素的目標位置。以下的HTML元素支援target屬性:、。

  在實際應用中,元素必須出現在文件的HEAD標記間,要先於任何指向外部資源的元素前。如果在文件中指定了標記,那麼連結將不再遵循預設的target位置,而是被明確地指向另外一個不同的target位置:

  

  

  

  

  
Table of Contents

  About Us

  Feedback

  

  如上所見,第1個連結的target是 "_self" (帶有一個下劃線),這表示當點選這個連結時,新文件會在當前活動的視窗中開啟。下表列舉了HTML中一些特殊的target位置標識:

Target 含義 _blank 在一個新的空視窗中裝載文件,新視窗沒有命名。 _parent 在連結所在視窗的直接父視窗中裝載文件。 _search 在的搜尋區裝載文件,注意,這個功能只在Inte Explorer 5 或者更高版本中適用。 _self 在連結所在的視窗中裝載文件。 _top 在最上層視窗中裝載文件。
  現在我們瞭解了框架名字,下面將它們與視窗一起工作。當定義target為 "_blank"時,a一個新視窗就會彈出來。比如,如果想讓一個連結在新視窗中開啟,請使用下面的程式碼:

  A New Page

  新視窗沒有命名,換言之,它不能被其他元素的 TARGET 屬性所引用。但是當我們使用一個標準的target名字時,會發生什麼呢?請看下面的定義:

  A New Tip

  在這種情況下,我們為新視窗提供了一個特殊的名字。 新視窗的名字為 "tip", 因此任何連結或者表單,只要定義了 TARGET="tip", 就會在同一視窗中裝載頁面。如果沒有框架或者視窗匹配指定的target,那麼點選連結後將在新視窗中開啟。看看下面的例子:

  CCIDNET

  技術天地

  看看產生的效果:


  點選第一個連結,將在新視窗中開啟文件。點選第二個連結,也將產生一個新視窗。如果再次點選連結,新視窗仍將開啟。如你所見,連結每一次被點選都會產生一個新視窗。讓我們再試一試下面的例子:

  CCIDNET

  技術天地  

  效果如下:


  點選第一個連結時,產生一個新視窗。接著點選第二個連結,新文件將出現在剛剛開啟的視窗中。新視窗定義了明確的名字,叫做 "main", 所以任何指定了 TARGET="main" 的連結或者表單都會在那個視窗被裝載。

名字的屬性
  藉助,我們能夠透過視窗的名字屬性發現視窗的名字(適用於IE3+, N2+)。同樣,我們能夠設定一個框架或者視窗的名字屬性(適用於IE3+, N3+)。來看看下面的HTML文件(showname.html):

  

  Display Name

  

  

  

  

  再看看下面的連結:

  A New Window

  First Window

  Second Window

  Third Window

  文件showname.html包含了一個指令碼,它負責在一個alert對話方塊中顯示視窗的名字。

  name 屬性屬於 window 。它可以被任何window物件使用,包括框架。例如,下面的語句設定了一個框架視窗的名字:

  parent.frames[1].name = "right";

  當操作框架時, 訪問不同層視窗是很簡單的。如果想參閱更多細節,請訪問 Window References 。

  HTML不能給當前視窗指派名字。就是說,在當前頁面不可能透過HTML程式碼來設定當前視窗的名字。要實現這個目的,只有一個方法,就是給 window.name 屬性分配值。下面來試一試,看看如下的程式碼,它建立了一個簡單按鈕,點選後設定當前視窗的名字:

  


  

  


  點選按鈕後,當前視窗的名字就改變為 "myWin", 除非指派其他的值,它會一直保持。 我們可以在其他視窗中包含一些連結,並定義他們的target位置為myWin,就是 TARGET="myWin" 。

  如果前面你已經設定了當前視窗的名字為myWin,那麼連結將在當前視窗開啟。下面是新視窗中的程式碼:

  Home

  Recent Tips

  方便起見,我們給出能將當前視窗的名字設定為空""的按鈕的原始碼:

  


    

  


  你要注意,不要給2個不同的視窗分配同一個名字。如果2個視窗被分配了同一個名字,那麼只有一個視窗被關聯,另外一個就將被忽視。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-984443/,如需轉載,請註明出處,否則將追究法律責任。

相關文章