2009-07-03 243 views
1

我不明白Bing Community站点是如何实现的。点击“所有最近”,“未答复”,“未读”或“您的讨论”中的一个会发出刷新整个页面的代理请求(代理显示常规请求),也会更改URL(完整URL不只是#hash)。但页面不闪烁!实施常规页面刷新,但没有页面闪烁

他们是如何实现这一目标的?

+0

伟大的问题,也想知道这一点。 – Copas 2009-07-03 14:16:58

回答

1

对我来说,它不会在FF3上闪烁,但它在IE6上会闪烁。所以,我认为它与浏览器的渲染有关。 BTW,一个快速测试(大多数时间工作)来查看页面是否完全被重新加载是选择一些文本(我选择了bing.com上的顶部导航文本) - 如果页面重新加载,您的选择将会丢失。

0

不确定这是如何改变网址,但您可以轻松地请求新页面并使用AJAX更改页面内容。我假设这是如何。

1

他们肯定在做整页刷新。 Firebug的Net面板和Firefox的Live HTTP Headers插件都展示了一个新的页面请求,就像通过代理监控请求一样Charles.

但是,根据Y!Slow,整个操作不到一秒钟。他们发送了大约9k的HTML压缩文件,其他所有内容(他们的精灵,脚本等)都从缓存中取出。我想你会看到在浏览器中使用缓存资源渲染一个非常轻松的gzip页面的速度有多快。 Bing非常擅长优化网站的这一方面,以实现非常快速的页面加载。