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