使用iframe来提高页面性能是一种可接受的方法吗?
我有一个复杂的页面,有像画廊,地图,广告等几个用户控件。使用iframe来提高页面性能是一种可接受的方法吗?
我试着优化它们,确保完全分离html/css/js,将js放在页面的底部,试图确保我的代码都写得很好,但是唉,我的页面仍然很慢。这对现代浏览器来说并不明显,但可以查看统计信息和IE6/7。
因此,我现在正在寻找我们之前为Adtech flash crap所做的工作 - 一个iframe。除了在这些控制中我不担心的SEO影响,人们会认为这是一种方法吗? PROS和CONS请。
感谢, 丹尼斯
iframes不是世界末日,但也许你可能想尝试ajax。然后页面可以立即加载一些装载gif的小部件。然后为每个小部件创建一个新的ajax请求,在repsonse上,加载gif将被替换为小部件数据。
更新:我想“懒加载”是这个正确的术语。
什么会真正提高你的页面的表现就是serve the content from different subdomains。
例如,你可以去疯了,有一个js.example.com
和images.example.com
一个www.example.com
,让用户的浏览器在一个时间内完成更多的事情,因为大多数浏览器允许最多每个域两个下载的。当然,通常做的是有一个static.example.com
和一个www.example.com
,因此保持它比普通网络服务器稍微复杂一点。
这给你的其他优点:
- 的static server可以在未来到期日远起到采取浏览器的缓存的优势。
- 你可以从静态服务器strip almost all headers,减少带宽。
- 你静态的服务器将不运,动态(
www.
)服务器可以设置(请记住,每次您设置的cookie被每个请求发送),reducing bandwidth饼干。
此外,您应该走得更远,同时缩小静态内容并使用服务器站点压缩(GZIP)来提供内容。
对于广告服务器,请尝试使用良好的提供商,并将所有广告内容都保留在页面底部。如果访问者进入您的页面,但由于浏览器正忙于等待广告加载,他只会为他提供一个空白页面,他会离开,如果您给他的内容和,然后加载广告,他会最可能会停留在网站上以查看广告。
+1有趣的想法,我知道SO使用这个:-) – 2010-03-19 14:59:11
我们为静态做。和图像。 想过更多或CDN,但没有真正看到价值,因为下载时间一般都很好。这是浏览器计算和js执行通常是问题。 – 2010-03-19 15:21:01
添加一个iframe只会引发火焰战争,你应该使用Firebug和Yslow(都是Firefox的附加组件),这会告诉你它为什么运行缓慢,并告诉你如何加快速度向上。
我对这两方面都非常熟悉,并且已经通过了许多建议,在这一点上CDN。 – 2010-03-19 15:19:29
说到网络用户界面,越少越好。如果你的网页速度很慢,也许你应该分开你的控件,使它们不被同时显示出来。
一旦你想为你的页面添加书签,iFrame往往是一团糟。他们不会加速任何事情。
如果您正在寻找有选择地加载内容,请查看AJAX技术。
最后,也许有点题外话,关于搜索引擎优化很好看的:http://powazek.com/posts/2090
曾经有很多使用熔断器箱式页面,多个控制人,这是可收藏的,应该加快事情了。虽然任何类型的框架通常都会被折服。
'
试试yslow一个Firefox的插件用于性能测试 – Grumpy 2010-03-19 14:56:36
对于你认为慢/快的一些数字怎么样。 – Samuel 2010-03-19 15:02:54