縱觀時下網站,本來網速就有些慢,可是幾乎每頁都要放什麼Banner,欄位圖片,版權等一大堆雷同的東西,當然,出於網站風格統一、廣告效應的需要,本無可厚非,畢竟讓用戶的錢包為這些「點綴「的東西」日益消得錢憔悴」了,有沒有辦法,讓這些雷同的東西一次下載後就不用再下載,而只下載那些內容有變化區域的網頁內容呢?
答案很肯定:應用Iframe標記!
一、Iframe標記的使用
提起Iframe,可能你早已將之丟到「被遺忘的角落」了,不過,說起其兄弟Frame就不會陌生了。 Frame標記即幀標記,我們所說的多幀結構就是在一個瀏覽器視窗中顯示多個HTML檔案。 現在,我們遇到一種很現實的情況:如有一個教程,是一節一節地上,每頁末尾做一個“上一節“、“下一節“的鏈接,除了每節教程內容不同之外,頁面其它部分內容都是相同的,如果一頁一頁地做笨頁面,這似乎太讓人厭煩了,這時突發奇想,如果有一種方法讓頁面其它地方不變,只將教程做成一頁一頁的內容頁,不含其它內容,在點擊上下翻頁鏈接時,只改變教程內容部分,其它保持不變,這樣,一是省時,另則以後如教程有個三長兩短的變動,也很方便,不致於牽一發而動全軍了;更重要的是將那些廣告Banner、欄目列表、導航等幾乎每頁的都有的東西只下載一次後就不再下載了。
Iframe標記,又叫浮動幀標記,你可以用它將一個HTML文檔嵌入在一個HTML中顯示。它不同於Frame標記最大的特徵即這個標記所引用的HTML文件不是與另外的HTML文件相互獨立顯示,而是可以直接嵌入在一個HTML文件中,與這個HTML文件內容相互融合,成為一個整體,另外,還可以多次在一個頁面內顯示同一內容,而不必重複寫內容,一個形象的比喻即“畫中畫“電視。
現在我們來談談Iframe標記的使用。
Iframe標記的使用格式是:
<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
src:文件的路徑,既可是HTML文件,也可以是文字、ASP等;
width、height:"畫中畫"區域的寬與高;
scrolling:當SRC的指定的HTML檔案在指定的區域不顯不完時,滾動選項,如果設定為NO,則不出現滾動條;如為Auto:則自動出現滾動條;如為Yes,則顯示;
FrameBorder:區域邊框的寬度,為了讓「畫中畫「與鄰近的內容融合,常設定為0。
例如:
<Iframe src="http://www.webjx.com" width="250" height="200" scrolling="no" frameborder="0"></iframe>
二、父窗體與浮動幀之間的相互控制
############################## ############## 在腳本語言與物件層次中,包含Iframe的視窗我們稱之為父窗體,而浮動訊框則稱為子窗體,弄清楚這兩者的關係很重要,因為要在父窗體中存取子窗體或相反都必須清楚物件層次,才能透過程式存取並控制窗體。 ############ ###1、在父窗體中存取並控制子窗體中的物件############### 在父窗體中,Iframe即子窗體是document物件的子對象,可以直接在腳本中存取子窗體中的物件。 ############ 現在就有一個問題,即,我們怎麼來控制這個Iframe,這裡需要講一下Iframe物件。當我們為這個標記設定了ID 屬性後,就可透過文檔物件模型DOM對Iframe所含的HTML進行一系列控制。 ############ 例如在example.htm裡嵌入test.htm文件,並控制test.htm裡一些標記對象:######
<Iframe src="test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>####### test.htm檔案代碼為:######
<html> <body> <h1 id="myH1">hello,my boy</h1> </body> </html>###################### 如我們要改變ID號碼為myH1的H1標記裡的文字為hello,my dear,則可用:############ document.myH1.innerText="hello,my dear"(其中,document可省)############ 在example .htm檔案中,Iframe標記物件所指的子窗體與一般的DHTML物件模型一致,對物件存取控制方式一樣,就不再贅述。 ############ ###2、在子窗體中存取並控制父窗體中物件############### 在子窗體中我們可以透過其parent即父(雙親)物件來存取父視窗中的物件。 ############ 如example.htm:#######
<html> <body onclick="alert(tt.myH1.innerHTML)"> <Iframe name="tt" src="frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe> <h1 id="myH2">hello,my wife</h1> </body> </html>
如果要在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标记,既为自己(网站)着了想,又为网友节省了网费,何乐而不为?
以上是html中iframe籤的作用及使用技巧詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!