难度级别:中级及以上 提问概率:50%
iframe是一个HTML标签,它可以在一个网页中嵌入另外一个网页,甚至是把其他的网站嵌入进来。在之前的很长时间里,内部管理系统都在使用iframe,做为菜单切换的主体模板区域框架。iframe包含一个src属性,当切换菜单的时候,动态为iframe的src属性赋对应的url链接,iframe区域内就可以展示不同的模块内容。
从优点上说,这听上去是不是很像现在的Vue组件,当项目中多处需要使用某个网页内容的时候,那么只需要使用iframe做为嵌入架构就可以实现,而且如果遇到需求改动,也只改动那一个网页就可以。就像上面说的,在内部管理系统中,头部和菜单模块的功能和样式基本不变,在iframe架构中切换对应的内容,这无疑极大增强了代码的重用性,而我们前端不一直在强调重用性嘛。其实不光是内部管理系统,很多C端用户网站,如果要在网站中嵌入第三方网页,或是加一个外部的广告,这些都是iframe很好的使用场景,而且嵌入的网站不会与本网站产生干扰。
尽管它的优点很多,但在越来越关注用户体验的今天,它的缺点越来越显露出来了。例如iframe本身会存在滚动条,而如果嵌入网页内部又存在滚动条&#