一、什麼是架構
架構Frames最主要功用是"分割"視窗,使每個"小視窗"能顯示不同的HTM L檔案,不同架構之間可以互動(interact),這就是說不同架構之間可以交換訊息與資料。例如:假設您開了兩個frames,第一個frame可顯示書的目錄,第二個frame則顯示章節的具體內容。
架構可以將螢幕分割成不同的地區,每個地區有自己的URL,通過Frames[]數組對象來實現不同架構的訪問。實際上架構對象本身也一類視窗,它繼承了視窗對象的所有特徵,並擁有所有的屬性和方法。下面我們先看一下架構的例子。見圖9-1所示。
圖9-1 架構對象
<HTML>
<HEAD>
</HEAD>
<Frameset Rows="20%,80%">
<frame src="test9_1.html">
<Frameset Cols="50%,50%">
<frame src="test9_2.html">
<frame src="test9_3.html">
</Frameset>
</Frameset>
</HTML>
以上HTML標識將螢幕分成三個架構。先將視窗分成以二行為單位的視窗,之後再按分成二個視窗。並在相應的架構中放入自己的HTML文檔。
通過[Framset ]告訴瀏覽器您要設定幾個架構;rows這項參數告訴瀏覽器您想將視窗分割成幾列;而 cols這項參數是告訴瀏覽器您想將視窗分割成幾行。
可以用很多組的 <frameset...> tags 將視窗分割得更複雜。
可以給每個frame一個"名字" (name)。frame的名字在JavaScript文法中的地位非常重要。可以用 <src> 告訴瀏覽器您要載入哪一個 HTML檔案。
二、如何訪問架構
在前面我們介紹過使用document.forms[]實現單一表單中不同元素的訪問。而要實現架構中多表單的不同元素的訪問,則必須使用window對象中的Frames屬性。Frames屬性同樣也是一個數組,他在 父框架組中為每一個子架構設有一項。通過下標實現不同架構的訪問:
parent.frames[Index1].docuement.forms[index2]
通過parent.frames.length確定視窗中表單的數目。 除了使用數組下標來訪問表單外還可以使用架構名和表單名來實現各元素的訪:
parent.framesName.decument.formNames.elementName.(m/p)