不知道你在項目中用過frameset屬性沒有,frameset這個屬性是在去年我在一個在線客服系統制作中用過,因為客服系統要有固定的布局,上面一塊,下面一塊等等,當時就是用的frameset和frame。在我用完了這些屬性之後,我才明白了iframe和frame的區別。因為在這之前,我項目中一般不用框架,用的話也就是用到iframe。
下面說說其具體區別吧!總結了如下幾點。
1、frame不能脫離frameSet單獨使用,iframe可以;
2、frame不能放在body中;
如下可以正常顯示:
XML/HTML Code復制內容到剪貼板
- <!--<body>-->
- <frameset rows="50%,*">
- <frame name="frame1" src="test1.htm"/>
- <frame name="frame2" src="test2.htm"/>
- </frameset>
- <!--<body>-->
如下不能正常顯示:
XML/HTML Code復制內容到剪貼板
- <body>
- <frameset rows="50%,*">
- <frame name="frame1" src="test1.htm"/>
- <frame name="frame2" src="test2.htm"/>
- </frameset>
- <body>
相反,假如iframe放在frameSet屬性下面,則必需放在body中
XML/HTML Code復制內容到剪貼板
- <body>
- <frameset>
- <iframe name="frame1" src="test1.htm"/>
- <iframe name="frame2" src="test2.htm"/>
- </frameset>
- </body>
3、iframe是一個html標簽,在html中任何地方,都可以隨意使用,而frame不可以。
XML/HTML Code復制內容到剪貼板
- <body>
- <iframe name="frame1" src="test1.htm"/>
- <iframe name="frame2" src="test2.htm"/>
- </body>
-
- <table>
- <tr>
- <td><iframe id="" src=""></iframe></td><td></td>
- </tr>
- </table>
而frame必須嵌套在frameSet中,且不能再table等標簽中使用。
4、frame的高度只能通過frameSet控制;iframe可以自己控制,不能通過frameSet控制
XML/HTML Code復制內容到剪貼板
- <!--<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>
5、如果在同一個頁面使用了兩個以上的iframe,在IE中可以正常顯示,在firefox中只能顯示出第一個;使用兩個以上的frame在IE和firefox中均可正常