当前位置: 首页 > news >正文

你知道iframe是什么吗?它有什么缺点?

iframe元素会创建包含另一个文档的内联框架
提示:可以将提示文字放在<iframe></iframe>之间,来提示某些不支持iframe的浏览器
缺点: 会阻塞主页面的onload事件 · 搜索引擎无法解读这种页面,不利于SEO · iframe和主页面共享连接池,而浏览器对相同区域有限制所以会影响性能。

优点:

iframe能够原封不动的把嵌入的网页展现出来。
如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷。
网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用。
如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决。

缺点:

iframe会阻塞主页面的onload事件;
iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载。会产生很多页面,不容易管理。
iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差。
代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理iframe中的内容,所以使用iframe会不利于搜索引擎优化(SEO)。
很多的移动设备无法完全显示框架,设备兼容性差。
iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。

现在基本上都是用Ajax来代替iframe,所以iframe已经渐渐的退出了前端开发。
如果需要使用iframe,最好是通过javascript动态给iframe添加src属性值,这样可以绕开以上一些问题。

相关文章:

  • 请说明以下代码的含义,visibility=hidden, opacity=0,display:none
  • HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数
  • viewport各个属性值的意义,以及如何实现不用viewport控制用户不能缩放
  • 字节跳动前端实习面经 (转)
  • Vue SPA的基本实现原理
  • web页面透明度的问题
  • 微信内置浏览器在IOS设备上的兼容性问题
  • VSCode中编写Python使用默认配置存在的路径问题
  • 智能控制导论 # 绪论
  • 智能控制导论 # 专家控制
  • C++中的水平访问,垂直访问是什么
  • C++ 子类型关系
  • 智能控制导论 # 专家控制实例 - 专家PID控制
  • 通俗易懂的自动控制原理 # 绪论
  • IIS8.5 部署时报错:HTTP 401.3
  • JavaScript-如何实现克隆(clone)函数
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017-08-04 前端日报
  • E-HPC支持多队列管理和自动伸缩
  • If…else
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript 一些 DOM 的知识点
  • Joomla 2.x, 3.x useful code cheatsheet
  • SpiderData 2019年2月25日 DApp数据排行榜
  • spring学习第二天
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 分享一份非常强势的Android面试题
  • 猴子数据域名防封接口降低小说被封的风险
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 我看到的前端
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (1) caustics\
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (四)Android布局类型(线性布局LinearLayout)
  • .apk 成为历史!
  • .a文件和.so文件
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 反射 Reflect
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net6+aspose.words导出word并转pdf
  • /bin/rm: 参数列表过长"的解决办法
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [20171113]修改表结构删除列相关问题4.txt
  • [20190113]四校联考
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C++]类和对象(中)
  • [CSS3备忘] transform animation 等
  • [hive] sql中distinct的用法和注意事项
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [IE技巧] IE8中HTTP连接数目的变化