• iframe学习(六)之优点缺点


    优点

    iframe能够原封不动的把嵌入的网页展现出来

    如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷

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

    如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决

    缺点

    会产生很多页面,不容易管理

    iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差

    代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理iframe中的内容,所以使用iframe会不利于搜索引擎优化

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

    iframe框架页面会增加服务器的http请求,对于大型网站是不可取的

    iframe会阻塞主页面的Onload事件

    iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载

    iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级。

    唯一的连接池

    浏览器只能开少量的连接到web服务器。比较老的浏览器,包含 Internet Explorer 6 & 7 和 Firefox 2,只能对一个域名(hostname)同时打开两个连接。这个数量的限制在新版本的浏览器中有所提高。Safari 3+ 和 Opera 9+ 可同时对一个域名打开 4 个连接,Chrome 1+, IE 8 以及 Firefox 3 可以同时打开 6 个。你可以通过这篇文章查看具体的数据表:Roundup on Parallel Connections.

    有人可能希望 iframe 会有自己独立的连接池,但不是这样的。绝大部分浏览器,主页面和其中的 iframe 是共享这些连接的。这意味着 iframe 在加载资源时可能用光了所有的可用连接,从而阻塞了主页面资源的加载。如果 iframe 中的内容比主页面的内容更重要,这当然是很好的。但通常情况下,iframe 里的内容是没有主页面的内容重要的。这时 iframe 中用光了可用的连接就是不值得的了。一种解决办法是,在主页面上重要的元素加载完毕后,再动态设置 iframe 的 SRC。

    美国前 10 大网站都使用了 iframe。大部分情况下,他们用它来加载广告。这是可以理解的,也是一种符合逻辑的解决方案,用一种简单的办法来加载广告服务。但请记住,iframe 会给你的页面性能带来冲击。只要可能,不要使用 iframe。当确实需要时,谨慎的使用他们。

    总结来说浏览器只能从同一域名同时下载有限数量的文件,对于老式浏览器,这个限制常常是两个文件,现代浏览器将限制提升到了8个,在下载脚本/样式表期间,浏览器 不会下载其他任何脚本/样式表文件,即使是来自不同域名的脚本/样式表文件也不会下载,所以其他资源都要等到脚本/样式表加载完毕后才能下载。

  • 相关阅读:
    redis数据同步之redis-shake
    spring拦截机制中Filter(过滤器)、interceptor(拦截器)和Aspect(切面)的使用及区别
    MySQL之MVCC与幻读
    Notepad
    mac环境,python+selenium环境搭建,解决chromedriver报错问题
    大规模抓取的抓取效率和抓取技巧问题
    安卓逆向8,解决app抓包抓不到的问题
    [loj6033]棋盘游戏
    [ccBB]Billboards
    [loj6051]PATH
  • 原文地址:https://www.cnblogs.com/kunmomo/p/12134372.html
Copyright © 2020-2023  润新知