管理由jQuery.append()修改的HTML页面的最佳实践是什么?

时间:2014-05-09 22:39:09

标签: jquery html

我需要实现其中一个搜索结果页面,其中进行分页,单击一个按钮,在页面底部添加新结果(它们从Web服务返回为HTML代码)。无论在webdev术语中调用这种分页,我都注意到它有一个"问题":当我向另一个页面发出HTTP请求然后我回到之前(使用浏览器的后退按钮),添加的内容不再可见,我看到浏览器收到(和缓存)的原始页面。

作为一个解决方案,我想再次询问所有在离开页面之前获得的结果,但我有一个非常讨厌的问题:我想知道这个解决方案是否属于&#34的定义;糟糕的设计"。

如果你的专家可以给我一个关于如何再次请求结果的意见和建议,我非常感激,因为我无法弄清楚我可以依赖什么事件来触发对WS的调用。

1 个答案:

答案 0 :(得分:1)

我假设你指的是一个"无限滚动"或加载模式,其中用户只看到一个子集,然后在某个事件(单击或滚动)上加载更多的超集。

此内容通过ajax加载,而不是通过页面的第一个get请求加载。浏览时,缓存了get方法的返回值,这就是您看到的显示。有一些方法可以解决这个问题,并提出新的要求。但是,结果是相同的,返回get请求而不是当前页面状态。

为了方便这一点,您需要维护一个令人生畏的页面状态。让我们来看看今天网络上使用最广泛的版本:facebook的照片浏览。即使你动态加载了数百张图片,如果你刷新或导航然后再回来,你得到的只是第一套。

基本上可以理解的是,如果您加载了一堆内容,并回击,作为用户,您将需要重新开始。虽然这很不幸,但背后有充分的理由。在作为用户浏览时,您花时间等待这些ajax调用并且它们很小。如果您必须等待页面加载的总和,则等待时间可能很长。加载时间是为什么不能在野外完成的。

我想说你目前的方法没有错。让用户重新创建或重新浏览他们的动态内容。