一、什么是框架
框架Frames最主要功用是"分割"視窗,使每個(gè)"小視窗"能顯示不同的HTM L文件,不同框架之間可以互動(interact),這就是說不同框架之間可以交換訊息與資料。例如:假設(shè)您開了兩個(gè)frames,第一個(gè)frame可顯示書的目錄,第二個(gè)frame則顯示章節(jié)的具體內(nèi)容。
框架可以將屏幕分割成不同的區(qū)域,每個(gè)區(qū)域有自己的URL,通過Frames[]數(shù)組對象來實(shí)現(xiàn)不同框架的訪問。實(shí)際上框架對象本身也一類窗口,它繼承了窗口對象的所有特征,并擁有所有的屬性和方法。下面我們先看一下框架的例子。見圖9-1所示。

圖9-1 框架對象
以上HTML標(biāo)識將屏幕分成三個(gè)框架。先將窗口分成以二行為單位的窗口,之后再按分成二個(gè)窗口。并在相應(yīng)的框架中放入自己的HTML文檔。
通過[Framset ]告訴瀏覽器您要設(shè)置幾個(gè)框架;rows這項(xiàng)參數(shù)告訴瀏覽器您想將視窗分割成幾列;而 cols這項(xiàng)參數(shù)是告訴瀏覽器您想將視窗分割成幾行。
可以用很多組的 <frameset...> tags 將視窗分割得更復(fù)雜。
可以給每個(gè)frame一個(gè)"名字" (name)。frame的名字在JavaScript語法中的地位非常重要。 可以用 <src> 告訴瀏覽器您要載入哪一個(gè) HTML文件。
二、如何訪問框架
在前面我們介紹過使用document.forms[]實(shí)現(xiàn)單一窗體中不同元素的訪問。而要實(shí)現(xiàn)框架中多窗體的不同元素的訪問,則必須使用window對象中的Frames屬性。Frames屬性同樣也是一個(gè)數(shù)組,他在 父框架集中為每一個(gè)子框架設(shè)有一項(xiàng)。通過下標(biāo)實(shí)現(xiàn)不同框架的訪問:
parent.frames[Index1].docuement.forms[index2]
通過parent.frames.length確定窗口中窗體的數(shù)目。 除了使用數(shù)組下標(biāo)來訪問窗體外還可以使用框架名和窗體名來實(shí)現(xiàn)各元素的訪:
parent.framesName.decument.formNames.elementName.(m/p)
三、范例
下面我們通過一個(gè)具體的實(shí)例, 來說明利用JavaScript腳本在WEB中實(shí)現(xiàn)更為復(fù)雜的信息交互。該例子是在一個(gè)多窗口中實(shí)現(xiàn)窗體信息的動態(tài)交互,在程序中首先在瀏覽器窗口中制作三個(gè)用于窗體交互的窗口,每個(gè)窗體窗口實(shí)現(xiàn)不同信息的動態(tài)交互。
tset9.html為主調(diào)用文檔它首先將窗口劃分為具有二行的窗體,爾后再將第二行的窗體劃分為具有二列的窗體;
test9-1.html為顯示標(biāo)題文檔;
test9_2.html為第二框架文檔其中需要注意的是:
通過JavaScript腳本將所示的“云南省”和“四川省”分別改為“昆明市”和“成都市”;
test7_3.html為第三框架文檔。
主調(diào)文檔
主要作用是將窗口劃分為具有二行的窗體,爾后再將第二行的窗體劃分為具有二列的窗體。
Test9.htm
第二個(gè)框架
主要作用是實(shí)現(xiàn)交互。可以通過JavaScript腳本將所示的“云南省”和“四川省”分別改為“昆明市”和“成都市”。
Test9_2.htm
第三個(gè)框架
主要作用是實(shí)現(xiàn)交互。
Test9_3.htm
在瀏覽器中的結(jié)果見圖9-2所示。

圖 9-2 在瀏覽器中結(jié)果
本講介紹框架中的基本元素的主要功能和使用,利用JavaScript腳本可以非常方便、靈活地實(shí)現(xiàn)Web頁面更為復(fù)雜的信息交互,這是HTML標(biāo)識語言所不能具備的。從中可以看出JavaScript是多么的吸引眾多的Web設(shè)計(jì)人員。
dm520
框架Frames最主要功用是"分割"視窗,使每個(gè)"小視窗"能顯示不同的HTM L文件,不同框架之間可以互動(interact),這就是說不同框架之間可以交換訊息與資料。例如:假設(shè)您開了兩個(gè)frames,第一個(gè)frame可顯示書的目錄,第二個(gè)frame則顯示章節(jié)的具體內(nèi)容。
框架可以將屏幕分割成不同的區(qū)域,每個(gè)區(qū)域有自己的URL,通過Frames[]數(shù)組對象來實(shí)現(xiàn)不同框架的訪問。實(shí)際上框架對象本身也一類窗口,它繼承了窗口對象的所有特征,并擁有所有的屬性和方法。下面我們先看一下框架的例子。見圖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標(biāo)識將屏幕分成三個(gè)框架。先將窗口分成以二行為單位的窗口,之后再按分成二個(gè)窗口。并在相應(yīng)的框架中放入自己的HTML文檔。
通過[Framset ]告訴瀏覽器您要設(shè)置幾個(gè)框架;rows這項(xiàng)參數(shù)告訴瀏覽器您想將視窗分割成幾列;而 cols這項(xiàng)參數(shù)是告訴瀏覽器您想將視窗分割成幾行。
可以用很多組的 <frameset...> tags 將視窗分割得更復(fù)雜。
可以給每個(gè)frame一個(gè)"名字" (name)。frame的名字在JavaScript語法中的地位非常重要。 可以用 <src> 告訴瀏覽器您要載入哪一個(gè) HTML文件。
二、如何訪問框架
在前面我們介紹過使用document.forms[]實(shí)現(xiàn)單一窗體中不同元素的訪問。而要實(shí)現(xiàn)框架中多窗體的不同元素的訪問,則必須使用window對象中的Frames屬性。Frames屬性同樣也是一個(gè)數(shù)組,他在 父框架集中為每一個(gè)子框架設(shè)有一項(xiàng)。通過下標(biāo)實(shí)現(xiàn)不同框架的訪問:
parent.frames[Index1].docuement.forms[index2]
通過parent.frames.length確定窗口中窗體的數(shù)目。 除了使用數(shù)組下標(biāo)來訪問窗體外還可以使用框架名和窗體名來實(shí)現(xiàn)各元素的訪:
parent.framesName.decument.formNames.elementName.(m/p)
三、范例
下面我們通過一個(gè)具體的實(shí)例, 來說明利用JavaScript腳本在WEB中實(shí)現(xiàn)更為復(fù)雜的信息交互。該例子是在一個(gè)多窗口中實(shí)現(xiàn)窗體信息的動態(tài)交互,在程序中首先在瀏覽器窗口中制作三個(gè)用于窗體交互的窗口,每個(gè)窗體窗口實(shí)現(xiàn)不同信息的動態(tài)交互。
tset9.html為主調(diào)用文檔它首先將窗口劃分為具有二行的窗體,爾后再將第二行的窗體劃分為具有二列的窗體;
test9-1.html為顯示標(biāo)題文檔;
test9_2.html為第二框架文檔其中需要注意的是:
通過JavaScript腳本將所示的“云南省”和“四川省”分別改為“昆明市”和“成都市”;
test7_3.html為第三框架文檔。
主調(diào)文檔
主要作用是將窗口劃分為具有二行的窗體,爾后再將第二行的窗體劃分為具有二列的窗體。
Test9.htm
<HTML> <HEAD> </HEAD> <Frameset Rows="10%,90%"> <frame src="test9_1.htm"> <Frameset Cols="40%,60%"> <frame src="test9_2.htm"> <frame src="test9_3.htm"> </Frameset> </Frameset> </HTML> 第一個(gè)框架 主要作用是顯示標(biāo)題文檔。 Test9_1.htm <HTML> <HEAD> </HEAD> <H2>使用框架實(shí)現(xiàn)WEB交互</H2> </HTML> |
第二個(gè)框架
主要作用是實(shí)現(xiàn)交互。可以通過JavaScript腳本將所示的“云南省”和“四川省”分別改為“昆明市”和“成都市”。
Test9_2.htm
<HTML> <HEAD> </HEAD> <Body> <Form name="test9_1"> 請選擇城市:<BR> <Select name="select1" Multiple> <Option>云南省 <Option>四川省 <Option>貴州省 <Option>山東省 <Option>江蘇省 <Option>浙江省 <Option>安徽省 <Option>河南省 </select><BR> <HR> <Input Type="Submit" name="" value="提交"> <Input Type="reset" name="" value="復(fù)位"> </Form> <pre> <script language="JavaScript"> document.test9_1.elements[0].options[0].text="昆明市"; document.test9_1.elements[0].options[1].text="成都市"; </script> </pre> </Body> </HTML> |
第三個(gè)框架
主要作用是實(shí)現(xiàn)交互。
Test9_3.htm
<HTML> <HEAD> </HEAD> <Body> <Form name="test9_2"> 請輸入用戶名: <Input Type="text" name="text1" Value="" Size=20><BR> <HR> 請選擇: <Input Type="Checkbox" name="checkbox1" Value="qb">全部信息<BR> <Input Type="Checkbox" name="checkbox2" Value="bf">部分信息<BR> <Input Type="Checkbox" name="checkbox3" Value="sy">所有城市<br> <HR> <Input Type="Submit" name="" value="提交"> <Input Type="reset" name="" value="復(fù)位"> <BR> </Form> <script language="JavaScript"> document.test9_2.elements[0].value="勞動和社會保障"; document.test9_2.elements[1].checked=true; document.test9_2.elements[2].checked=true; document.test9_2.elements[3].checked=false; </script> </Body> </HTML> |

圖 9-2 在瀏覽器中結(jié)果
本講介紹框架中的基本元素的主要功能和使用,利用JavaScript腳本可以非常方便、靈活地實(shí)現(xiàn)Web頁面更為復(fù)雜的信息交互,這是HTML標(biāo)識語言所不能具備的。從中可以看出JavaScript是多么的吸引眾多的Web設(shè)計(jì)人員。
dm520