frame与iframe的区别
发布于 2015-12-02 17:41 类别: tech
在java中,frame是一种控件,可作为父窗体加载其他swing控件。那在html中iframe元素会创建包含另外一个文档的内联框架(即行内框架)。<frame>标签定义 frameset 中的一个特定的窗口(框架)。
Iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在一个HTML中显示。它和Frame标记的最大区别是在网页中嵌入的<Iframe></Iframe>所包含的内容与整个页面是一个整体,而<Frame></Frame>所包含的内容是一个独立的个体,是可以独立显示的。另外,应用Iframe还可以在同一个页面中多次显示同一内容,而不必重复这段内容的代码。
两者主要区别如下: - frame不能脱离frameSet单独使用,iframe可以;
-
frame必须在frameset里,而frameset不能与body元素共存,也就说有frameset元素的文档只能是一个框架集,不能有别的东东;
-
iframme是活动帧,就像是浮动面板 ,而frame是非活动帧,iframe放在网页的什么地方都行,但是frame只能放到上下左右四个方向;
-
frame不能放在body中 如下:
<!--<body>-->
<frameset rows="50%,*">
<frame name="frame1" src="test1.htm"/>
<frame name="frame2" src="test2.htm"/>
</frameset>
<!--<body>-->
- 嵌套在frameSet中的iframe必需放在body中,不嵌套在frameSet中的iframe可以随意使用 如下:
<body>
<frameset>
<iframe name="frame1" src="test1.htm"/>
<iframe name="frame2" src="test2.htm"/>
</frameset>
</body>
//以下均可正常显示
<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>-->
- 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>
-
如果在同一个页面使用了两个以上的iframe,在IE中可以正常显示,在firefox中只能显示出第一个;使用两个以上的frame在IE和firefox中均可正常
-
iframe 可以放到表格里面。frame 则不行。
<table>
<tr>
<td><iframe id="" src=""></iframe></td><td></td>
</tr>
</table>
Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性。 frame是整个页面的框架,由多个并列的网页构成。而iframe是内嵌的网页元素,也可以说是内嵌的框架,是一个网页中的子框架,两网页间是父子关系。