浅谈 iframe的优缺点以及使用场景

这篇具有很好参考价值的文章主要介绍了浅谈 iframe的优缺点以及使用场景。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。




提示:以下是本篇文章正文内容

一、iframe是什么?

iframe是嵌入式框架,是HTML框架,还是一个内联元素,iframe元素会创建包含另一个文档的内联框架(行内框架),说白了就是,iframe用来在页面嵌入其他的页面。
通常我们使用iframe直接在页面嵌套iframe标签指定src就可以了。

二、iframe的优缺点?

1.优点:

  1. iframe能够把嵌入的网页原样展示出来;
  2. 模块分离,便于更改,如果有多个网页引用的iframe,只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷
  3. 网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,增加代码的可用性
  4. 如果遇到加载缓慢的第三方内容,像是图标和广告,这些问题就可以使用iframe来解决;
  5. 重载页面时不需要重新加载整个页面,只需要重新加载页面中的一个框架页;
  6. 方便制作导航栏

2.缺点:

  1. 样式脚本需要额外链入,调用外部的页面,需要额外调用css,增加页面额外的请求次数,增加服务器的http请求
  2. 代码复杂,在网页中使用框架结构最大的弊病就是搜索引擎的‘蜘蛛’程序无法解读这种页面,会影响搜索引擎的优化,不利于网站的排名
  3. 滚动条除了会挤占有限的页面空间导致iframe布局混乱,还会分散访问者的注意力,影响用户的体验
  4. 链接导航疑问
  5. 产生多个页面,不易于管理
  6. 多数小型移动设备无法完全显示框架,设备兼容性极差

为什么尽量少使用iframe?

iframes提供了一个简单的方式把一个网站的内容嵌套在另一个网站中,iframe的创建比其他包括scripts和css的DOM元素的创建慢了1-2个数量级
使用iframe的页面一般不会包含太多iframe,所以创建DOM节点所花费的时间不会占很大的比重。但带来一些其它的问题:onload事件以及连接池(connection pool),即iframe会阻塞主页面的Onload事件及iframe和主页面共享连接池,会影响页面的并行加载。

原因:

  1. iframes阻塞页面加载,影响网页加载速度

及时触发 window 的 onload 事件是非常重要的。onload 事件触发使浏览器的 “忙” 指示器停止,告诉用户当前网页已经加载完毕。当 onload事件加载延迟后,它给用户的感觉就是这个网页非常慢
window的onload 事件需要在所有 iframe 加载完毕后(包含里面的元素)才会触发,就会影响网页加载速度。通过 JavaScript 动态设置 iframe的SRC可以避免这种阻塞情况。

  1. 唯一的连接池

对每个 web 服务器来说,浏览器只打开极少的几个连接数。老的浏览器,包括 IE 6/7 和 Firefox 2,每个主机只有2个连接。在新的浏览器中,连接数增加鸟。Safari 3+和Opera 9+增至4个,Chrome 1+、IE 8及Firefox 3增至6个。
在大多数浏览器中,连接被主页面和它的 iframe所共享,这意味着有可能iframe中的资源占用了可用连接而阻塞了主页面的资源加载。如果iframe中的内容同等重要,或比主页面更重要,这很好。然而在通常情况下iframe中的内容对页面来说不太重要,iframe 占用连接数是不可取的。一个解决方案是在优先级更高的资源下载完成后再动态的给iframe的src赋值。
总之,iframe会给你的页面性能带来冲击,尽可能不使用iframe,当确实需要时,谨慎地使用他们。目前框架的优点可以使用Ajax实现,这在某种角度也是一种替代方案文章来源地址https://www.toymoban.com/news/detail-745465.html

三、iframe的一些应用场景?

  1. 典型的像是网页编辑器
  2. 跨域通信:js跨域总结与解决办法,类似的还有浏览器的多页面通信,比如音乐播放器,用户如果打开了多个tab页面,只有一个在播放
  3. 历史记录管理:解决ajax化网站响应浏览器前进后退的方案
  4. 纯前端的utf8和gbk编码互转:比如在utf8页面需要生成一个gbk的encodeURIComponent字符串,可以通过页面加载一个gbk的iframe,然后主页面与子页面通信的方式实现转换;
  5. 用iframe实现无刷新的文件上传,在formData不可用时作为代替方式
  6. 创建一个全新的独立的宿主环境
  7. 用来加载广告,例如联盟广告
  8. 一般邮箱使用iframe,像QQ邮箱
  9. 一些简单的后台页面

到了这里,关于浅谈 iframe的优缺点以及使用场景的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 简述 TCP 和 UDP 的区别以及优缺点和使用场景?

    1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接 2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。Tcp通过校验和,重传控制,序号标识,

    2024年02月11日
    浏览(10)
  • Apache和Nginx的优缺点及各自使用的场景

    Apache和Nginx是两个常见的Web服务器,它们在性能、架构设计和适用场景上有一些不同之处。 Apache: 优点: 模块丰富: Apache支持大量的第三方模块,提供了很大的灵活性和可扩展性。 .htaccess 文件: Apache允许使用.htaccess文件进行配置,使得配置更加灵活,而无需修改主配置文

    2024年01月21日
    浏览(16)
  • ChatGPT 和 文心一言 的优缺点及需求和使用场景

             ChatGPT和文心一言是两种不同的自然语言生成模型,它们有各自的优点和缺点。         ChatGPT(Generative Pre-trained Transformer)是由OpenAI开发的生成式AI模型,它在庞大的文本数据集上进行了预训练,并可以根据输入生成具有上下文和逻辑性的回复。以下是ChatGP

    2024年01月16日
    浏览(10)
  • 你真的了解HashSet 和HashMap的区别、优缺点、使用场景吗?

    你真的了解HashSet 和HashMap的区别、优缺点、使用场景吗?

      HashSet 和 HashMap 是 Java 集合框架中的两个常用类,它们都用于存储和管理数据,但在使用方式、功能和性能上有很大的区别。 HashSet:  HashSet 是一个基于哈希表的集合,用于存储不重复的元素,它不存储键值对。它实际上是基于 HashMap 实现的,只存储了键,而值都设置为同

    2024年02月05日
    浏览(9)
  • Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例

    Java SPI概念、实现原理、优缺点、应用场景、使用步骤、实战SPI案例

    在当今互联网时代,应用程序越来越复杂,对于我们开发人员来说,如何实现高效的组件化和模块化已经成为了一个重要的问题。而 Java SPI (Service Provider Interface)机制,作为一种基于接口的服务发现机制,可以帮助我们更好地解决这个问题。这样会程序具有高度的 灵活性、

    2024年02月13日
    浏览(10)
  • 视频编码标准H.264/AVC,H.265/HEVC,VP8/VP9,AV1的基本原理、优缺点以及适用场景

    视频编码标准是用于压缩数字视频数据的技术规范,以减少存储和传输所需的带宽。以下是关于H.264/AVC、H.265/HEVC、VP8/VP9和AV1这些标准的基本原理、优缺点以及适用场景的简要描述: H.264/AVC (Advanced Video Coding) 基本原理 : H.264是一种块导向的运动补偿视频压缩标准。它使用混

    2024年03月16日
    浏览(11)
  • 【Java基础教程】(二十二)Java新特性篇 · 第二讲:foreach循环——概念及优缺点、使用方式及应用场景~

    【Java基础教程】(二十二)Java新特性篇 · 第二讲:foreach循环——概念及优缺点、使用方式及应用场景~

    Java的 foreach 特性最初出现在JDK 1.5中,也被称为“增强的for循环”。它的设计目的是提供一种简洁、易读的语法,用于遍历集合或数组中的元素,减少了传统 for循环的冗余代码和错误机会。 简单来说, foreach是一种迭代器模式的变体,它允许我们以简单且直观的方式遍历一个

    2024年02月16日
    浏览(13)
  • 【KNN算法详解(用法,优缺点,适用场景)及应用】

    【KNN算法详解(用法,优缺点,适用场景)及应用】

    KNN(K Near Neighbor):k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。KNN算法属于监督学习方式的分类算法,我的理解就是计算某给点到每个点的距离作为相似度的反馈。 简单来讲,KNN就是“近朱者赤,近墨者黑”的一种分类算法。 KNN是一种基于实例的学习,

    2024年02月05日
    浏览(14)
  • 四大常用MQ的优缺点和应用场景选择

    四大常用MQ的优缺点和应用场景选择

      官网地址 :http://activemq.apache.org/ - 官网介绍 Apache ActiveMQ是最流行的开源、多协议、基于Java的消息代理。它支持行业标准协议,因此用户可以从多种语言和平台的客户端选择中获益。从JavaScript、C、C++、Python、.NET等多个客户端连接。使用无处不在的AMQP协议集成多平台应用程

    2023年04月22日
    浏览(10)
  • 主流的 NoSQL 数据库 应用场景 优缺点

    主流的 NoSQL 数据库包括 MongoDB、Cassandra、Redis 和 Couchbase 等,它们在不同的应用场景下具有各自的优势和局限性。 应用场景 :适用于需要灵活的数据模型和丰富的查询能力的场景,如内容管理系统、实时分析等。 优点 :灵活的数据模型,支持复杂的数据结构和查询。水平扩

    2024年01月25日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包