从加载cnzz不成功导致全页面js失效看iframe的弊端
2016-06-27来源:

一、iframe 阻塞 onload

window的onload事件要等页面中所有内容加载完成,包括所有iframe加载完成以后才会运行,所以会给用户带来很大的“误解”,万一当iframe加载过慢,会让用户感觉网站速度很慢。

解决方案:用javascript动态的给iframe赋值。

二、链接池

对每个 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 占用连接数是不可取的。一个解决方案是在优先级更高的资源下载完成后再动态的给 iframe 的 src 赋值。

三、耗费性能

创建iframe耗费的性能比其他dom元素(包括style或script)多10-100倍

推荐信息
Baidu
map