什麼是視窗分幀?
視窗分幀就是把一個瀏覽器文件視窗分隔成多個視窗,每個視窗都可以顯示一個獨立的網頁檔案,每個幀(即頁面)都有自己的url。
幀視窗該如何建立?
幀通常是由<frameset>和<frame>標記建立的。但在HTML 4中,<iframe>標記也可以用來在文檔中建立“內聯幀”。就JavaScript來說,<iframe>建立的幀與<frameset>和<frame>建立的幀一樣。
在HTML中用<frameset>(分割視窗標記)來分割視窗,<frameset>在多視窗頁面中的地位就相當 於<body>在普通單視窗頁面中的地位,在頁面中用<frameset>……</frameset>標誌頁面主體 部分的起止位置。而且,<frameset>標記決定了怎樣劃分視窗,以及每個視窗的位置和大小。其基本文法結構如下:
<frameset cols=n rows=n frameborder=yes|no border=n bordercolor=#n framespacing=n></frameset>
cols和rows:是決定頁面如何分割的兩個參數。分割左右視窗用cols,各幀的左右寬度用占視窗寬度的百分比來表示。比 如:cols="30%,40%,*"就表示水平方向分割成三個視窗,各自所佔總寬度的百分比依次是30%,40%和30%。其中"*"表示剩餘部分,也 就是說"*"對應的小視窗寬度為剩餘的寬度。分割上下視窗用rows,同樣採用百分比的設定方法。
frameborder:是指定各分視窗是(ye)否(no)要加邊框;如果加過框的話,則用 border參數指定邊框的寬度,bordercolor指定邊框的顏色。
framespacing:用於設定各分視窗之間的間隔大小,預設值是0。
用<frameset>標記把視窗分割好後,各視窗的屬性是用HTML的<frame>標記來定義的,所以<frameset>標記中必須包含<frame>標記,用以定義各分視窗的屬性。其文法如下:
<frame align=left|center|right|top|bottomv name=framename src=url noresize scrolling=yes|on|auto frameborder=yes|no bordercolor=#n marginheight=n marginwidth=n></frame>
align:設定分視窗的位置是靠左(left)、靠右(right)、置中(center)、靠上(top)還是靠底(bottom)。
name:用於指定分視窗的名稱,src則用於指定分視窗所對應的HTML頁面地址。
noresize:是對使用者來說的,當<frame>標記中包含此參數的時候,使用者就不能用滑鼠調整修改各分視窗的大小。
scrolling:設定分視窗是否要捲軸。scrolling=no時不要捲軸,scrolling=yes時表示要捲軸,scrolling=auoto時表示根據實際情況自動化佈建捲軸。
frameborder和bordercolor:是設定分視窗有無邊框和邊框顏色的。但對象只限於用<frame>標記的分視窗。
marginheight和marginwidth:分別用於設定分視窗的上下邊緣和左右邊緣的寬度。
例如:
<frameset cols="50%,*,25%"> <frame src="http://www.baidu.com" noresize="noresize" /> <frame src="http://www.baidu.com" /> <frame src="http://www.baidu.com" /></frameset>
JavaScript中幀視窗之間的關係?
一個視窗的任何幀可以通過top,frames和parent屬性來引用其他幀。
任何視窗或幀中的JavaScript代碼可以將自己的視窗和幀引用為 window 或 self。
每個視窗都有frames屬性。這個屬性引用一個Window對象的數組,其中每個元素代表的是這個視窗中包含的幀(如果一個視窗沒有任何幀,那麼frames[]數組就是空的,frames.length為0).這樣,視窗就可以使用frames[0]來引用它的第一個幀,使用frames[1]來引用第二個幀,一次類推。
每個視窗還包含有一個parent屬性,它引用包含這個視窗的Window對象。這樣,視窗中的第一個幀就可以引用它的兄弟幀,即:
如果一個視窗是最上層視窗,而不是幀,那麼parent屬性引用的就是這個視窗本身:
如果一個幀包含在另一個幀中,而後者又包含在最上層視窗中,那麼該幀就可以使用parent.parent來引用最上層視窗。
注意事項:
分幀不能和body標籤及內容體共存
分幀不利於搜尋引擎最佳化,正常前台頁面不建議使用分幀。
以上就是本文的全部內容,希望對大家學習javascript程式設計有所協助。