当前位置: 首页 > 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
  • co模块的前端实现
  • httpie使用详解
  • JavaScript学习总结——原型
  • Java程序员幽默爆笑锦集
  • Mysql5.6主从复制
  • 安卓应用性能调试和优化经验分享
  • 对超线程几个不同角度的解释
  • 给第三方使用接口的 URL 签名实现
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端之React实战:创建跨平台的项目架构
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 巧用 TypeScript (一)
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • Nginx实现动静分离
  • 如何在招聘中考核.NET架构师
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #define与typedef区别
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (06)金属布线——为半导体注入生命的连接
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (数据结构)顺序表的定义
  • (转)EOS中账户、钱包和密钥的关系
  • **PHP二维数组遍历时同时赋值
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET Core中的去虚
  • .NET 分布式技术比较
  • .NET 使用配置文件
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • /etc/sudoer文件配置简析
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • []FET-430SIM508 研究日志 11.3.31
  • [20160807][系统设计的三次迭代]
  • [APUE]进程关系(下)
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BUG] Authentication Error