幀視窗是一種複雜的頁面技術,應用幀視窗使得使用者可以在同乙個瀏覽器視窗中瀏覽不同**的內容,可以在乙個小視窗中發出查詢命令而在另乙個小視窗中接收查詢結果。實現幀視窗的思路是將瀏覽器視窗按照功能分割成多個小視窗。每個視窗都對應有自己的
html
頁面,按照一定的組合方式組合在一起,以實現特殊的效果。 在
html
中用(分割視窗標記)來分割視窗,
在多視窗頁面中的地位就相當於
在普通單視窗頁面中的地位,在頁面中用
……標誌頁面主體部分的起止位置
(切記不要把幀框架放到
body
裡面,這樣頁面是顯示不出來的
)。而且,
標記決定了怎樣劃分視窗,以及每個視窗的位置和大小。其基本語法結構如下:
cols=
n rows=n
frameborder=yes|no
border=
n bordercolor=
#n framespacing=n>
cols
和rows
:是決定頁面如何分割的兩個引數。分割左右視窗用
cols
,各幀的左右寬度用佔視窗寬度的百分比來表示。比如:
cols="30%,40%,*"
就表示水平方向分割成三個視窗,各自所佔總寬度的百分比依次是
30%,
40%和
30%。其中
"*"表示剩餘部分,也就是說
"*"對應的小視窗寬度為剩餘的寬度。分割上下視窗用
rows
,同樣採用百分比的設定方法。
frameborder
:是指定各分視窗是(
ye)否(
no)要加邊框;如果加過框的話,則用
border
引數指定邊框的寬度,
bordercolor
指定邊框的顏色。
framespacing
:用於設定各分視窗之間的間隔大小,預設值是0。
用標記把視窗分割好後,各視窗的屬性是用
html
的標記來定義的,所以
標記中必須包含
標記,用以定義各分視窗的屬性。其語法如下:
align=left|center|right|top|bottomv name=framename
src=
url
noresize
scrolling=
yes|on|auto
frameborder=yes|no
bordercolor=#
n marginheight=n
marginwidth=
n>
align
:設定分視窗的位置是靠左(
left
)、靠右(
right
)、居中(
center
)、靠上(
top)還是靠底(
bottom)。
name
:用於指定分視窗的名稱,
src則用於指定分視窗所對應的
html
頁面位址。
noresize
:是對使用者來說的,當
標記中包含此引數的時候,使用者就不能用滑鼠調整修改各分視窗的大小。
scrolling
:設定分視窗是否要滾動條。
scrolling=no
時不要滾動條,
scrolling
=yes
時表示要滾動條,
scrolling
=auoto
時表示根據實際情況自動設定滾動條。
frameborder
和bordercolor
:是設定分視窗有無邊框和邊框顏色的。但物件只限於用
標記的分視窗。
marginheight
和marginwidth
:分別用於設定分視窗的上下邊緣和左右邊緣的寬度。
用上面的兩個標記,就能夠實現多視窗頁面,下面將舉例說明。 1
、左小右大兩視窗
左側選單頁
右側內容頁
這種頁面一般在左邊的視窗放乙個**導航頁,右面放**頁面內容。製作方法: 先用
標記並通過設定其
cols
引數,沿水平方向分割成兩個視窗,左邊的視窗佔
20%,右邊的視窗取剩餘部分,再用
標記分別定義兩個視窗的屬性。完成後的分幀頁面源**如下:
很抱歉!這是乙個分幀頁面,但由於你的瀏覽器不支援,所以不能瀏覽!
sorry!this page uses frames,but your browser doesn't support them .
從上面的**看,
設計幀視窗頁面並沒有想象得那麼複雜,但以下幾點在具體操作時要注意: 1
)用標記定義分視窗屬性時,要注意其在
標記中的順序,切不要搞亂了;
2)分視窗的名稱雖可隨意定,但最好是以其所在位置命名比較好;
3)分視窗的
scrolling
(滾動條)一般取其預設值
"auto"
比較好;
4)雖然在最終往往不要分視窗的邊框,但在設計階段,還是設定為有邊框比較好,這樣在編輯時一目了然;
5)上面頁面**中後面那句話一般加上為好,因為有的瀏覽器版本不支援分幀頁面,若沒加那名話,使用者的瀏覽器若不支援分幀時,看到的是一片空白,不知是怎麼一回事了,有那句話提示一下就明白了。
2、一頂一左一右頁面
頁面頂部
左側選單
主頁面內容
先看這種分幀頁面的源**:
<
html>
<
head>
<
title>
分幀視窗示例
title>
head>
<
frameset rows="20%,*">
<
frame name="topframe"
noresize
src="top.html">
<
frame name="leftframe"
noresize
src="left.html">
noresize
src="right.html">
frameset>
frameset>
<
noframes>
<
body>
<
p>
很抱歉!這是乙個分幀頁面,但由於你的瀏覽器不支援,所以不能瀏覽!
p>
<
p>sorry!this page uses frames,but your browser doesn't support them.p>
body>
noframes>
html>
從上面的**中可看出,建立複雜分幀頁面的方法是由簡到繁,如本例中,先用
定義其「rows」
引數,把視窗分成上下兩個視窗,再用
標記定義上部視窗,因下部視窗還需再分,所以不用
定義其屬性,而是用
標記設定其
cols
引數,把它再分成左右兩個視窗,因已達目的,所以開始用
標記定義左右兩個視窗的屬性。
只要記住:先粗分,後細分,
cols
橫向分,
rows
縱向分,無需再分的視窗用
定義屬性,這些基本原則,製作分幀視窗頁面就
一些使用技巧也要注意:
frame 幀其實是單獨的視窗,它對應於單獨的視窗物件(window),有自己的 location、history 和 document 屬性。
注意的點:
1、在子frame中,要到父frame上,用window.parent(window.parent又有自己的location、history 和 document 屬性);
2、平級子frame之間呼叫用window.parent.frames["framenamea"].(location、history 和 document 屬性都可以了……包括framenamea中寫的js方法也可以呼叫);
不用frames["framename"],也可以直接window.parent.framename.來獲得平級子frame;
3、所以在子frame中寫js方法要操作全域性的window.location.href = "",得先跳到上一級即:window.parent.location.href = "",操作其他全域性window屬性也是一樣的道理。
框架frameset用法
1.frameset用法 name 定義幀的名字,設定這個框窗的名稱,這樣才能指定框架來作連線,必須但命名任意 frameborder 定義幀之間的邊界 0或1 frameborder 0 設定框架的邊框,0表示不要邊框,1表示要邊框 framespacing 5 設定框架與框架間保留的空白距離 b...
祭奠那過時的框架標籤frameset
還記得那個蕩氣迴腸的標籤嗎?frameset那是html以前用的乙個常用標籤。但是到了現在都很少用了。甚至幾乎不用了。為什麼呢?因為它有乙個很雞肋的表示方法。那就是如果這個html中如果有了這個框架表示。那麼body就不能再寫了。這樣就不符合html的組成了。不過,個人感覺這是不是更有一點物件導向的...
frameset框架的構建和注意事項
在寫 的過程中遇到了乙個問題,需要將三個頁面顯示在乙個介面中,此時就用到了frameset 示例 其中,frameset包含的屬性有cols,rows,frameborder,border,framespace 寬度,高度,邊框有無,邊框大小,間隔 frame中的屬性src指向要顯示的html,na...