縱觀時下網站,本來網速就有些慢,可是幾乎每頁都要放什么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://netschool.cpcw.com/homepage " 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標記,既為自己(網站)著了想,又為網友節省了網費,何樂而不為?

          posts - 41, comments - 7, trackbacks - 0, articles - 0

          Copyright © weibogao

          主站蜘蛛池模板: 甘洛县| 仙桃市| 嘉定区| 墨竹工卡县| 天峨县| 安乡县| 渝北区| 扎赉特旗| 五大连池市| 太仆寺旗| 永福县| 运城市| 蕲春县| 望谟县| 德令哈市| 湄潭县| 武川县| 乌拉特后旗| 宝丰县| 津市市| 永胜县| 四川省| 宁明县| 汝南县| 博兴县| 长汀县| 平乡县| 长治市| 乐都县| 礼泉县| 夏邑县| 沁水县| 同仁县| 颍上县| 龙里县| 基隆市| 涡阳县| 武汉市| 梁河县| 房山区| 阿鲁科尔沁旗|