首頁  >  文章  >  web前端  >  Iframe與FRAME的差異分析_HTML/Xhtml_網頁製作

Iframe與FRAME的差異分析_HTML/Xhtml_網頁製作

WBOY
WBOY原創
2016-05-16 16:41:461309瀏覽
一、Iframe標記的使用
提起Iframe,可能你早已將之扔到「被遺忘的角落」了,不過,說起其兄弟Frame就不會陌生了。 Frame標記即幀標記,我們所說的多幀結構就是在一個瀏覽器視窗中顯示多個HTML檔案。現在,我們遇到一種很現實的情況:如有一個教程,是一節一節地上,每頁末尾做一個“上一節“、“下一節“的鏈接,除了每節教程內容不同之外,頁面其它部分內容都是相同的,如果一頁一頁地做笨頁面,這似乎太讓人厭煩了,這時突發奇想,如果有一種方法讓頁面其它地方不變,只將教程做成一頁一頁的內容頁,不含其它內容,在點擊上下翻頁鏈接時,只改變教程內容部分,其它保持不變,這樣,一是省時,另則以後如教程有個三長兩短的變動,也很方便,不致於牽一發而動全軍了;更重要的是將那些廣告Banner、欄目列表、導航等幾乎每頁的都有的東西只下載一次後就不再下載了。
Iframe標記,又叫浮動訊框標記,你可以用它將一個HTML文件嵌入在一個HTML中顯示。它不同於Frame標記最大的特徵即這個標記所引用的HTML文件不是與另外的HTML文件相互獨立顯示,而是可以直接嵌入在一個HTML文件中,與這個HTML文件內容相互融合,成為一個整體,另外,還可以多次在一個頁面內顯示同一內容,而不必重複寫內容,一個形象的比喻即“畫中畫“電視。
現在我們來談談Iframe標記的使用。
Iframe標記的使用格式是:

src:文件的路徑,既可是HTML文件,也可以是文字、ASP等;
width、height:"畫中畫"區域的寬與高;
scrolling:當SRC的指定的HTML檔案在指定的區域不顯不完時,滾動選項,如果設定為NO,則不出現捲軸;如為Auto:則自動出現捲軸;如為Yes,則顯示;
FrameBorder:區域邊框的寬度,為了讓「畫中畫「與鄰近的內容相融合,常設為0。
例如:

二、父窗體與浮動幀之間的相互控制
在腳本語言與物件層次中,包含Iframe的視窗我們稱之為父窗體,而浮動幀則稱為子窗體,弄清這兩者的關係很重要,因為要在父窗體中訪問子窗體或相反都必須清楚對象層次,才能通過程式來存取並控制窗體。
1、在父窗體中存取並控制子窗體中的對象
在父窗體中,Iframe即子窗體是document對象的子對象,可以直接在腳本中存取子窗體中的對象。
現在就有一個問題,即,我們怎麼來控制這個Iframe,這裡需要講一下Iframe物件。當我們為這個標記設定了ID 屬性後,就可透過文檔物件模型DOM對Iframe所含的HTML進行一系列控制。
例如在example.htm裡嵌入test.htm文件,並控制test.htm裡一些標記對象:

test.htm文件代碼為:


hello,my boy




如我們要將ID編號變成myH1的H1標記裡的文字為hhello ,my dear,則可用:
document.myH1.innerText="hello,my dear"(其中,document可省)
在example.htm檔案中,Iframe標記物件所指的子窗體與一般的DHTML物件模型一致,對物件存取控制方式一樣,就不再贅述。
2、在子窗體中存取並控制父窗體中物件
在子窗體中我們可以透過其parent即父(雙親)物件來存取父視窗中的物件。
如 example.htm:



hello,my wife


🎜> >
如果要在frame1.htm中訪問ID號為myH2中的標題文字並將之改為"hello,my friend",我們就可以這樣寫:
parent.myH2.innerText= "hello,my friend"
這裡parent對象就代表當前窗體(example.htm所在窗體),要在子窗體中訪問父窗體中的對象,無一例外都透過parent對象來進行。
Iframe雖然內嵌在另一個HTML檔案中,但它保持相對的獨立,是一個「獨立王國「喲,在單一HTML中的特性同樣適用於浮動幀中。
試想一下,透過Iframe標記,我們可將那些不變的內容以Iframe來表示,這樣,不必重複寫相同的內容,這有點象程式設計中的過程或函數,減省了多少繁瑣的手工勞動!另外,至關重要的是,它使頁面的修改更為可行,因為,不必因為版式的調整而修改每個頁面,你只需修改一個父窗體的版式即可了。
有一點要注意,Nestscape瀏覽器不支援Iframe標記,但在時下IE的天下,這似乎也無大礙,廣泛採用Iframe標記,既為自己(網站)著了想,又為網友節省了網費,何樂而不為?
浮動FRAME是HTML4.0規格中的定義,目前的瀏覽器都支援它。
不像FRAMESET所表示的分割區樣子,一個浮動FRAME作為一個內建物件存在於Web頁面上,其樣式就像一個頁面上的一個圖形或一個applet。浮動FRAME使用

Show one.htm


Show two.htm


注意,對應支援
標記的瀏覽器,任何位於

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn