JavaScript允許創建和打開代表HTML文本, form對象和frame的窗口. window對象是JavaScript客戶層次結構的最頂層對象, form元素和全部JavaScript代碼都是存在于文檔中,而文檔被裝載進窗口. 為了理解窗口怎樣工作,你可以控制操作這些窗口.
打開和關閉窗口
當用戶啟動(launch)Navigator時,將自動創建一個窗口.用戶還可以使用Navigator的File菜單上的New Web Browser打開一個窗口, 可以用Navigator的File菜單的Close或Exit關閉一個窗口.也可以用程序的辦法來打開或關閉一個窗口.
打開窗口
用方法open創建一個窗口.下面語句創建了一個名為msgWindow的窗口,并在該窗口內顯示文件sesame.html的內容.
msgWindow=window.open("sesame.html")
下面的這個語句能夠創建一個名為homeWindow的窗口,用于顯示Netscape的home page.
homeWindow=window.open("http://www.netscape.com")
窗口可以有兩個名字.下述語句創建了一個有兩個名字的窗口,第一個名字為msgWindow用于引用窗口的屬性,方法和包含關系, 第二個名字displayWindow用于把窗口作為form提交 或超文本鏈的對象來引用時.
創建窗口時,并不要求一定給出窗口名.但是你若打算從另一個窗口中引用此窗口,則此窗口必須有一個名字.有關使用窗口名字的信息參見windows and frames有關資料.
打開窗口時,可以指定窗口屬性,如窗口的高度,寬度,是否包含工具條,location域或滾動條等等.下述語句創建了一個沒有工具條但帶有滾動條的窗口.
msgWindow=window.open
("sesame.html","displayWindow","toolbar=no,scrollbars=yes")
有關窗口的屬性的細節請參見OPEN 方法.
關閉窗口
可以在程序中使用方法close來關閉一個窗口.不允許只關閉一個frame, 而不關掉整個父窗口.
下述語句均可關閉當前窗口:
window.close()
self.close()
//此語句不能用在事件處理程序中
close()
下述語句關閉了一個名為msgWindow的窗口:
msgWindow.close()
--------------------------------------------------------------------------------
使用frame
frame是一種特殊的窗口,它可以在一個窗口顯示多個獨立滾動的frame.每個frame又有各自不同的URL. 各frame可以指向不同的URL,也可以作為其它URL目標,但必須在同一個窗口內. 一系列的frame 組成頁(page).
下圖是一個含有三個frame的窗口
This frame is This frame is
named listFrame named contentFrame