【问题标题】:Preloading pages, various questions about it预加载页面,关于它的各种问题
【发布时间】:2012-08-14 23:11:36
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我认为除非您遇到实际的性能问题,否则不必担心这一点。无论如何,我可能只是在当前页面之后预加载下一页,而不是预加载所有内容。
  • 我可能只会在上一个/下一个方向最多保存 2 或 3 页(我假设那里不是绝对巨大的)。我真的不认为这会是一个问题!我认为这些家伙会做这样的事情。 bleacherreport.com/articles/…

标签: javascript html caching memory


【解决方案1】:

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

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

【讨论】:

  • 感谢您的提示。对于我现在的想法,无限滚动可能不是最好的主意,但对于我网站的其他区域来说,这绝对是值得考虑的事情。
【解决方案2】:

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

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

【讨论】:

  • “如果 RAM 成为问题”...我该如何检测?
猜你喜欢
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多