不知道你在项目中用过frameset属性没有,frameset这个属性是在去年我在一个在线客服系统制作中用过,因为客服系统要有固定的布局,上面一块,下面一块等等,当时就是用的frameset和frame。在我用完了这些属性之后,我才明白了iframe和frame的区别。因为在这之前,我项目中一般不用框架,用的话也就是用到iframe。
下面说说其具体区别吧!总结了如下几点。
1、frame不能脱离frameSet单独使用,iframe可以;
2、frame不能放在body中;
如下可以正常显示:
XML/HTML Code
1.<!--<body>-->
2.<frameset rows="50%,*">
3. <frame name="frame1" src="test1.htm"/>
4. <frame name="frame2" src="test2.htm"/>
5.</frameset>
6.<!--<body>-->
如下不能正常显示:
XML/HTML Code
1.<body>
2.<frameset rows="50%,*">
3. <frame name="frame1" src="test1.htm"/>
4. <frame name="frame2" src="test2.htm"/>
5.</frameset>
6.<body>
相反,假如iframe放在frameSet属性下面,则必需放在body中
XML/HTML Code
1.<body>
2. <frameset>
3. <iframe name="frame1" src="test1.htm"/>
4. <iframe name="frame2" src="test2.htm"/>
5. </frameset>
6.</body>
3、iframe是一个html标签,在html中任何地方,都可以随意使用,而frame不可以。
XML/HTML Code
1.<body>
2. <iframe name="frame1" src="test1.htm"/>
3. <iframe name="frame2" src="test2.htm"/>
4.</body>
5.
6.<table>
7.<tr>
8.<td><iframe id="" src=""></iframe></td><td></td>
9.</tr>
10.</table>
而frame必须嵌套在frameSet中,且不能再table等标签中使用。
4、frame的高度只能通过frameSet控制;iframe可以自己控制,不能通过frameSet控制
XML/HTML Code
1.<!--<body>-->
2.<frameset rows="50%,*">
3. <frame name="frame1" src="test1.htm"/>
4. <frame name="frame2" src="test2.htm"/>
5.</frameset>
6.<!--</body>-->
7.
8.<body>
9.<frameset>
10. <iframe height="30%" name="frame1" src="test1.htm"/>
11. <iframe height="100" name="frame2" src="test2.htm"/>
12.</frameset>
13.</body>
5、如果在同一个页面使用了两个以上的iframe,在IE中可以正常显示,在firefox中只能显示出第一个;使用两个以上的frame在IE和firefox中均可正常