1、iframe的优点:
①、页面重载是无需重载整个页面,秩序重载iframe中的数据.(减少了请求的数据量)
②、易于使用,如导航栏、广告的使用。
2、iframe的劣势:
①、搜索引擎"蜘蛛"无法读取,影响搜索结果的排列名次。
②、链接导航问题:无法后退,只能离开。
③、增加HTTP请求(注意:页面的请求次数比请求的数据量相比,前者耗时大得多);
④、阻塞主页面的onload事件:window 的 onload 事件是非常重要的。onload 事件触发使浏览器的 “忙” 指示器停止,告诉用户当前网页已经加载完毕。当 onload 事件加载延迟后,给用户的感觉是这个网页非常慢。
解决方法:动态添加src,window 的 onload 事件需要在所有 iframe 加载完毕后(包含里面的元素)才会触发。在 Safari 和 Chrome 里,通过 JavaScript 动态设置 iframe 的 src可以避免这种阻塞情况。
⑤、性能问题,iframe的创建比其它包括scripts和css的 DOM 元素的创建慢了 1-2 个数量级。
⑥、连接池问题:iframe和主页共享连接池,而浏览器对相同域的链接有限制(http://www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections/),故影响页面的并行加载。