1. 程式人生 > >Frameset框架優缺點

Frameset框架優缺點

HTML框架簡述 一個瀏覽器窗體可以通過幾個頁面的組合來顯示。我們可以使用框架來完成(frames)這項工作。(框架可以把HTML文件分為多個頁面) 框架頁使用了表格的方式組合,可以分為數行與數列。 框架的優點
  • 過載頁面時不需要過載整個頁面,只需要過載頁面中的一個框架頁(減少了資料的傳輸,加快了網頁下載速度)
  • 技術易於掌握,使用方便,使用者眾多,可主要應用於不需搜尋引擎來搜尋的頁面
  • 方便製作導航欄 
框架的缺點(iframe的缺點與frame類似)
  • 會產生很多頁面,不容易管理
  • 不容易列印(目前只能實現分框架頁面的列印,不能實現對frameset的列印)
  • 瀏覽器的後退按鈕無效(只能針對實現當前游標所在頁面的前進與後退,無法實現frameset整個頁面的前進與後退)
  • 程式碼複雜,無法被一些搜尋引擎索引到(框架結構(幀結構)的不能為每個網頁都設定一個標題(TITLE),更為糟糕的是,有些搜尋引擎對框架結構的頁面不能正確處理,會影響到搜尋結果的排列名次)
  • 多數小型的移動裝置(PDA 手機)無法完全顯示框架
  • 多框架的頁面會增加伺服器的http請求
  • 由於上面諸多缺點,因此不符合標準網頁設計的理念,已經被標準網頁設計拋棄,目前的html5已不再支援此標籤 
iframe的缺點 1、在網頁中使用框架結構最大的弊病是搜尋引擎的“蜘蛛”程式無法解讀這種頁面。當“蜘蛛”程式遇到由數個框架組成的網頁時,它們只看到框架而無法找到連結,因此它們會以為該網站是個死站點,並且很快轉身離去。對一個網站來說這無異於一場災難。

如果你想銷售產品,你需要客戶;如想得到客戶,你首先要讓人們訪問你的網站,而要做到這一點,你就非求助於搜尋引擎不可。你花費了大量的時間、精力和金錢開設了一家網上商店,卻又故意不讓搜尋引擎檢索你,這就好象開家零售商店,卻將窗戶全部漆成黑色,而且還不掛任何招牌一樣。

2、框架結構有時會讓人感到迷惑,特別是在幾個框架中都出現上下、左右滾動條的時候。這些滾動條除了會擠佔已經非常有限的頁面空間外,還會分散訪問者的注意力。訪問者遇到這種網站往往會立刻轉身離開。他們會想,既然你的主頁如此混亂,那麼網站的其他部分也許更不值得瀏覽。

3、連結導航問題。使用框架結構時,你必須保證正確設定所有的導航連結,如不然,會給訪問者帶來很大的麻煩。比如被連結的頁面出現在導航框架內,這種情況下訪問者便被陷住了,因為此時他沒有其他地方可去。

HTML框架結構與語法 框架的DTD 使用框架頁時要使用它特有的DTD(HTML文件結構) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> HTML框架使用frameset標籤把瀏覽器的窗體分為多個行與列的框架頁,每個頁面又使用了frame標籤定義,同時應該使用noframes定義瀏覽器不支援框架時顯示的內容。本節將介紹frame標籤,下節介紹frameset標籤(引用網址:http://www.dreamdu.com/xhtml/tag_frame/)。 框架結構
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html> <head> <title>夢之都框架頁示例</title> </head> <frameset rows="120, *, 80"> <frame src="http://www.dreamdu.com/xhtml/" /> <frame src="http://www.dreamdu.com/css/" /> <frame src="http://www.dreamdu.com/javascript/" /> <noframes> <body> 夢之都使用了框架技術,但是您的瀏覽器不支援框架, 請升級您的瀏覽器以便正常訪問夢之都。 </body> </noframes> </frameset> </html> 通過使用frameset的rows屬性(120, *, 80)定義了一個三行的框架,第一行120畫素,第三行80畫素,第二行是整個頁面減去第一行與第三行剩下的畫素。frameset裡面包含三個frame,每個frame都使用了src屬性定義了框架頁所包含的頁面,最後的noframes定義了瀏覽器不支援框架時所顯示的內容。 frame標籤 frame 標籤 -- 定義frameset標籤中每個框架頁的內容 frame標籤是單獨出現的,<frame /> 引用網址:http://www.dreamdu.com/xhtml/tag_frame/ 屬性: Common -- 一般屬性 frameborder -- 定義了內容頁的邊框,取值為(1|0),預設值為1 1 -- 在每個頁面之間都顯示邊框 0 -- 不顯示邊框 longdesc -- 定義框架頁的說明 marginwidth -- 定義了框架中HTML檔案顯示的左右邊界的寬度,取值為px,預設值由瀏覽器決定 marginheight -- 定義了框架中HTML檔案顯示的上下邊界的礦度,取值為px,預設值由瀏覽器決定 name -- 在一個框架頁連結到另一框架頁時使用(另一個框架頁可以使用target定義連結頁) noresize -- 定義了瀏覽者是否可以通過拖拽改變框架頁尺寸,取值為(noresize) scrolling -- 定義是否有滾動條,取值為(yes|no|auto),預設值為auto yes -- 顯示滾動條 no -- 不顯示滾動條 auto -- 當需要時再顯示滾動條 src -- 定義了內容頁URL