1、frame不能脫離frameSet單獨使用,iframe可以;
2、frame不能放在body中;如下可以正常顯示:
<!--<body>-->
<frameset rows="50%,*">
<frame name="frame1" src="test1.htm"/>
<frame name="frame2" src="test2.htm"/>
</frameset>
<!--<body>-->
如下不能正常顯示:
<body>
<frameset rows="50%,*">
<frame name="frame1" src="test1.htm"/>
<frame name="frame2" src="test2.htm"/>
</frameset>
<body>
3、嵌套在frameSet中的iframe必需放在body中;如下可以正常顯示:
<body>
<frameset>
<iframe name="frame1" src="test1.htm"/>
<iframe name="frame2" src="test2.htm"/>
</frameset>
</body>
如下不能正常顯示:
<!--<body>-->
<frameset>
<iframe name="frame1" src="test1.htm"/>
<iframe name="frame2" src="test2.htm"/>
</frameset>
<!--</body>-->
4、不嵌套在frameSet中的iframe可以隨意使用;
如下均可以正常顯示:
<body>
<iframe name="frame1" src="test1.htm"/>
<iframe name="frame2" src="test2.htm"/>
</body>
<!--<body>-->
<iframe name="frame1" src="test1.htm"/>
<iframe name="frame2" src="test2.htm"/>
<!--</body>-->
5、frame的高度只能通過frameSet控制;iframe可以自己控制,不能通過frameSet控制,如:
<!--<body>-->
<frameset rows="50%,*">
<frame name="frame1" src="test1.htm"/>
<frame name="frame2" src="test2.htm"/>
</frameset>
<!--</body>-->
<body>
<frameset>
<iframe height="30%" name="frame1" src="test1.htm"/>
<iframe height="100" name="frame2" src="test2.htm"/>
</frameset>
</body>
6、如果在同一個頁面使用了兩個以上的iframe,在IE中可以正常顯示,在firefox中只能顯示出第一個;使用兩個以上的frame在IE和firefox中均可正常
以上代碼在IE7和firefox2.0中測試。
另外相關論壇竊取總結 :-)
1Frame與Iframe兩者可以實現的功能基本相同,不過Iframe比Frame具有更多的靈活性。
frame是整個頁面的框架,iframe是內嵌的網頁元素,也可以說是內嵌的框架
Iframe標記又叫浮動幀標記,可以用它將一個HTML文檔嵌入在一個HTML中顯示。它和Frame標記的最大區別是在網頁中嵌入的<Iframe></Iframe>所包含的內容與整個頁面是一個整體,而<Frame></Frame>所包含的內容是一個獨立的個體,是可以獨立顯示的。另外,應用Iframe還可以在同一個頁面中多次顯示同一內容,而不必重復這段內容的代碼。
2iframe 可以放到表格里面。frame 則不行。
<table>
<tr>
<td><iframe id="" src=""></iframe></td><td></td>
</tr>
</table>
3frame必須在frameset里
而frameset不能與body元素共存,也就說有frameset元素的文檔只能是一個框架集,不能有別的東東
4IFrame是放在網業的什么地方都行
但是frame只能放到上下左右四個方向
5iframme 是活動幀
而frame是非活動幀
iframe使用方法如下
<iframe scr="sourcefile" frameborder=0 width="width" height="height"></iframe>
iframe用起來更靈活,不需要frame那么多講究
而且放的位置也可以自己設
iframe是內嵌的,比較靈活,不過也有不好的地方,就是位置在不同的瀏覽器和分辨率下有可能不同,有時會把本來好好的頁面搞得變形
iframe就沒有這個限制
6iframe 可以加在網頁中任何一個地方。
而frame 通常做框架頁
iframe是一個網頁中的子框架,兩網頁間是父子關系
frame是框架,由多個並列的網頁構成
樓上的說得對,iframe是浮動的。就像是浮動面板,而frame是固定的。只能四個方向上的。
你可以直接在網頁里用一下,看看效果就行了。
7<iframe>是被嵌入在網頁的元素,而<frame>用於組成一個頁面的多個框架!
iframe 更利於版面的設計
frame 一條直一條豎的不美觀
frame的那一條線也可以去掉的呦!只不過,iframe更方便對其進行數據的交換吧!
iframe可以放置到你想放的任意位置,控制起來比frame方便
8iframe是內部幀,可以嵌在一個頁面里面,設置內部幀的屬性可以使得整體看上去象一個完整的頁面,而不是由多個頁面組成,frame有frame的好處,比如何多網站,上面放廣告條,左邊放菜單,右邊放內容,這樣上邊和左邊的內容都可不動,只刷新右邊頁面的內容,選擇iframe還是frame完全看自己的需求。
說白了,用IFrame比用Frame少一個文件(FrameSet),但支持Frame的瀏覽器比較多。
我為我公司做的網站,整個是用了iframe,Linux帶的瀏覽器都不支持,哎呀,丑呀,不過我還是喜歡用iframe
還有iframe可以放在表格里,然后ifame設置成width=100% height=100%
我就可以只需修改我的表格的寬度和高度,這樣的話有利於排版
其實Frame是一個控件
使用方法和Panle相同。
frame是把網頁分成多個頁面的頁面。它要有一個框架集頁面frameset
iframe是一個浮動的框架,就是在你的頁面里再加上一個頁面,
<frame>用來把頁面橫着或豎着切開,
<iframe>用來在頁面中插入一個矩形的小窗口
Frame一般用來設置頁面布局,將整個頁面分成規則的幾塊,每一塊里面包含一個新頁面.
iframe用來在頁面的任何地方插入一個新的頁面.
因此,Frame用來控制頁面格式,比如一本書,左邊是章節目錄,右邊是正文,正文很長,看的時候要拖動,但又不想目錄也被拖動得開不到了.因此最好將頁面用Frame分成規則的2頁,一左一右.
而iframe則更靈活,不要求將整個頁面划分,你可以在頁面任何地方用iframe嵌入新的頁面.
我個人認為:
<frame>用於全頁面
<iframe>只用於局部
iframe和frame的對象:http://www.runoob.com/jsref/dom-obj-frame.html
frameset對象:http://www.runoob.com/jsref/dom-obj-frameset.html
原文鏈接:http://blog.csdn.net/lyr1985/article/details/6067026
---------------------------------------------------------------------------------------------
frameset和iframe框架之間如何互調數據
以往一直在編寫的都是前台的UI,很少使用到frameset、iframe,對其了解也是十分有限,只是知道其可以為其當前頁面引入html文件成為當前頁的一部分,但是這兩天在做后台UI界面的時候,發現這樣的框架也是有相當多知識點在里面的。那框架是啥?可以這樣說:通過使用框架,你可以在同一個瀏覽器窗口中顯示不止一個頁面。每份HTML文檔稱為一個框架,並且每個框架都獨立於其他的框架。那么關於框架,有幾個方面是需要我了解的:
(1)獲得html頁面上的frame
window.frames可以獲得本頁面上所有frame集合,用法與document.forms,document.imgs的用法相似,這是這里用的是window對象,獲取某個框架可以這樣做window.frames[0]、window.frames['frameName']、frames['frameName']、frames[0]、self.frames[0],此處self與window等價,相當於本頁面的window對象。
這里也還要再看兩個屬性,contentWindow、contentDocument兩個屬性,也是可以用來獲取子窗口,框架的window對象的。
contentWindow 兼容各個瀏覽器,可取得子窗口的 window 對象。
contentDocument Firefox 支持,> ie8 的ie支持。可取得子窗口的 document 對象。
假如我要刷新本頁面中第一個框架的頁面,可以怎么做:
window.frames[0].contentWindow.location.reload();
(2)父框架調用子框架的變量或函數
結合上面說的獲得頁面上的frame,那么調用子框架的變量或是函數可以這樣來:
frames[0].a;
frames[0].refresh();
alert(frames[0].location.href);
這是調用第一個框架里面的a變量和refresh函數。
(3)子框架調用父框架的變量或函數
對於子框架調用父框架的這種情況下,window有個屬性叫parent,用來調用上層框架的,所以可以這樣來:
window.parent.a;
window.parent.refresh();
這是調用子框架調用父框架的a變量和refresh函數。
(4)兄弟框架之間的調用
可以通過它們的父框架來相互調用,可以這樣做
self.parent.frames['child1'];
self.parent.frames['child2'];
(5)多層框架的調用
window.frames[0].frames[2];
window.frames['child_1'].frames['sub_child_3'];
(6)頂層框架
首先需要判斷是否為頂層框架,也就是根,可以這樣來做:
if(self==window.top){ //.... } /*window的另外一個屬性top,它表示對頂層框架的引用,這可以用來判斷一個框架自身是否為頂層框架*/
7.獲得頂部的body
如何想要獲得頂層的body元素,那么可以使用top來獲得。
比如:
var topBody=$(top.document.body)
8.獲得iframe窗口的外部窗口
如何想要獲得iframe窗口的外部窗口,可以通過:
var iframe= $('iframe的id', parent.document)
9.iframe的安全性
由於iframe可以引用別的網頁資源,加載到自己的網頁中。這樣存在一定的安全隱患。有些網頁能夠被正常引入到iframe中,有些網頁則不可以。觀察響應頭文件中的X-Frame-Options值。如果X-Frame-Options為SAMEORIGIN的話,那么只有相同域的資源才可以引用該資源到iframe中。
基本關於frameset和iframe之間的互相調用知識點。
參考鏈接:https://i.cnblogs.com/EditPosts.aspx?postid=6169988&update=1