1

我无法理解Bing 社区网站是如何实现的。单击“所有最近”“未答复”“未读”或“您的讨论”之一会发出刷新整个页面的常规请求(代理显示常规请求),它还会更改 URL(完整 URL 不仅仅是#hash)。但是页面不闪!

他们是如何做到这一点的?

4

3 回答 3

1

对我来说,它不会在 FF3 上闪烁,但在 IE6 上会闪烁。所以,我认为它更多地与浏览器的渲染有关。

顺便说一句,一个快速测试(大多数情况下都有效)查看页面是否完全重新加载是选择一些文本(我选择了 bing.com 上的顶部导航文本)——如果页面重新加载,您的选择将是丢失。

于 2009-07-03T14:29:27.227 回答
1

他们肯定在进行整页刷新。Firebug 的 Net 面板和 Firefox 的 Live HTTP Headers 插件都显示正在请求的新页面,以及通过像Charles 这样的代理监控请求。

然而,根据 Y!Slow 的说法,整个操作只需要不到一秒钟的时间。他们发回了大约 9k 压缩后的 HTML,其他所有内容(他们的精灵、脚本等)都从缓存中提取出来。我想你看到了在浏览器中发送一个带有缓存资产的轻量级压缩页面的速度有多快。Bing 在优化他们网站的这一方面以实现非常快速的页面加载方面做得非常出色。

于 2009-07-03T15:19:25.267 回答
0

不确定这是否是 URL 更改的方式,但您可以轻松请求新页面并使用 AJAX 更改页面内容。我假设就是这样。

于 2009-07-03T14:56:13.870 回答