iframe

定义:iframe元素会创建包含另一个文档的内联框架(即行内框架)可以把需要的文本放置在 之间,这样就可以应对无法理解 iframe 的浏览器。

eg:

 

作用: 通过其实现跨域

    使用iframe解决es6select遮挡不住的问题

    通过iframe解决ajax的前进后退问题

    实现异步上传(Easyuiform组件就是用的iframe,实现表单提交时,可以提交上传域)

优点:1.iframe能够原封不动地把嵌入的网页展现出来。

    2.. iframe包含的代码几乎不会受到外界任何js或者css的影响,如果有多个网页调用iframe,只需要修改iframe的内容,相当于模块话

    3.网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用性。

    4.如果遇到加载缓慢的第三方内容,如图标和广告等,可以用iframe来解决。相当于异步加载

    5. 重载页面时不需要重载整个页面,只需要重载页面中的一个框架页(减少了数据的传输,加快了网页下载速度)

缺点:0.多页面不容易管理,页面为空时也需要时间加载 页面样式调试麻烦,出现多个滚动条。

    1.iframe的创建比其他包含script cssDOM元素创建慢1-2数量级。

    2.iframe会阻塞主页面Onload事件。Window.onload事件需要当所有的iframe加载完毕后,才会触发。在SafariChrome中通过js动态设置iframesrc可以避免这种阻塞情况

  

    3. 搜索引擎的检索程序无法解读这种页面,不利于SEO

    4. 影响并行加载   并行加载:同一时间针对同一域名下的请求。一般情况下,iframe和所在页面在同一域下面,而浏览器的并行加载的数量是有限制的。

    5. 很多移动设备(PDA手机)无法完全显示框架,设备兼容性差。


你可能感兴趣的:(前端)