定义:iframe元素会创建包含另一个文档的内联框架(即行内框架)可以把需要的文本放置在 <iframe> 和 </iframe> 之间,这样就可以应对无法理解 iframe 的浏览器。
eg:
<iframe frameborder=0 width=170 height=100 marginheight=0 marginwidth=0 scrolling=no src=""></iframe>
作用: 通过其实现跨域
使用iframe解决es6下select遮挡不住的问题
通过iframe解决ajax的前进后退问题
实现异步上传(Easyui中form组件就是用的iframe,实现表单提交时,可以提交上传域)
优点:1.iframe能够原封不动地把嵌入的网页展现出来。
2.. iframe包含的代码几乎不会受到外界任何js或者css的影响,如果有多个网页调用iframe,只需要修改iframe的内容,相当于模块话
3.网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用性。
4.如果遇到加载缓慢的第三方内容,如图标和广告等,可以用iframe来解决。相当于异步加载
5. 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,加快了网页下载速度)
缺点:0.多页面不容易管理,页面为空时也需要时间加载 页面样式调试麻烦,出现多个滚动条。
1.iframe的创建比其他包含script css的DOM元素创建慢1-2数量级。
2.iframe会阻塞主页面Onload事件。Window.onload事件需要当所有的iframe加载完毕后,才会触发。在Safari和Chrome中通过js动态设置iframe的src可以避免这种阻塞情况
3. 搜索引擎的检索程序无法解读这种页面,不利于SEO
4. 影响并行加载 并行加载:同一时间针对同一域名下的请求。一般情况下,iframe和所在页面在同一域下面,而浏览器的并行加载的数量是有限制的。
5. 很多移动设备(PDA手机)无法完全显示框架,设备兼容性差。