3

为了提高响应能力,我认为预加载分页数据是个好主意。

推理是这样的:当用户阅读分页数据时,他们最有可能按顺序浏览页面。因此,花时间让用户阅读当前页面,将以下页面加载到内存中(AJAX 调用,保存生成的 HTML,然后让“下一页”链接替换内容innerHTML而不是加载新页面)。同样,我可以将以前加载的页面保存在内存中,这样,如果用户返回,页面可以立即重新出现,而无需再次往返服务器。

我主要担心的是这可能对浏览器的 RAM 使用产生影响。我的意思是,突然之间,我让它拥有几页而不是一页。也就是说,我所浏览的网页比我的布局的单页大一百倍,而且它们工作得很好,所以我是不是想多了?

我的另一个担忧是数据可能会改变(我目前正在考虑论坛,用户可以在其中编辑帖子或(在最后一页的情况下)可能会发布新帖子。我想我可以避免存储内存中的最后一页,但是有什么方法可以在不破坏整个缓存系统的目的的情况下检查修改过的帖子?我能想到的最好的方法类似于静态资源缓存,可以发出请求,但是如果是这种情况,服务器可以响应未修改。但是,再次查看页面的次数可能比编辑页面要多得多,因此几乎所有请求都未修改。我只是不知道该怎么做做这一切,或者只是不值得担心。

4

2 回答 2

1

许多站点使用“无限”滚动,允许一次加载许多图像。我相信大多数浏览器根据实际显示的内容来管理内存。在某些情况下,“无限”滚动比分页更便于用户使用。

您可以在线程上添加“最后修改”标签 - 然后当您从站点检查正常更新时,您可以将最后修改日期与 html 中存储的日期进行比较。如果更改是最近的,则获取并更新帖子的最新版本。老实说,这可能不值得担心——人们习惯于重新加载浏览器以检查更改。

于 2012-08-14T23:20:35.567 回答
1

缓存可以提高性能,所以这样做。如果 RAM 成为问题,请释放(删除)未使用的旧页面。

最重要的是,您应该保持访问分析,以了解您的用户如何与您的网站进行交互。可能对别人有好处的事情可能对你没有好处。一切都与用户体验有关——您必须进行测试并确定对您的用户来说什么是最佳体验。

于 2012-08-14T23:23:07.143 回答