性能优化之-------少用iframe

 1、DOM开销高

使用iframe的开销是很高的,在主页面中加载同等数量的div和iframe(标签内容都是空),iframe的耗时会比div的高1~2个数量级。

2、阻塞onload事件

  在典型方式下(<iframe src=url></iframe>)使用iframe时,会阻塞onload事件。

解决方法:1、使用js动态设置iframe的src属性。只对chrome、Safari有效

              2、在onload事件后,设置iframe的src

一般情况下,iframe和主页面中的资源并行下载(如使用iframe进行脚本的延迟加载),但是有些情况下,主页面会阻塞iframe的加载。

以下情况:1、外部脚本在iframe之前,脚本会阻塞iframe

              2、IE和FF中,主页面中的样式表会阻塞iframe的下载。

3、共享连接数的限制

在每个主机名(不是解析后的ip地址),可理解为域名,浏览器对同服务器的连接数做了限制。在主页面和iframe之间,二者是共享对每个服务器的连接数的,

iframe并不会增加并行下载数量。

注:跨标签页和窗口之间也会共享连接数,造成对连接请求的争夺,导致加载速度变慢。

减少iframe的使用,可用div替代,设置div的innerHTML属性,引入外部html 

posted @ 2015-10-07 14:09  freewalker  阅读(2779)  评论(0编辑  收藏  举报