0

我正在构建一个页面,该页面根据日期范围显示在 0 到几百行之间。当用户进入页面时,它会加载所有行并显示它们,然后用户可以根据需要过滤数据。这在 chrome 中似乎相当快,但 IE8 在某些时候变得相当慢。(不幸的是 IE8 是最重要的浏览器)

假设我在页面加载时需要整个数据,但只想显示一个子集。最好的方法是什么?

1.) 构建一个 DOM 字符串并仅将所需的行添加到“真实”DOM。
2.) 将数据保存在 localStorage 中。
3.) 从服务器生成的 JSON 对象中获取所需的数据。
4.) ???

还是用指定的查询访问服务器并只返回所需的数据总是更好?

4

1 回答 1

0

在页面加载时渲染 DOM 中的所有行并在 JSON 数组中打印数据的必要字段。当过滤条件发生变化时,过滤 JSON 中的数据,然后使用 JSON 中的唯一标识符隐藏表中的行(只隐藏,不删除)。这样您就不必重新渲染现有行。

如果您选择 ajax 方式,最快的方式是在服务器端呈现 HTML,然后简单地用它替换表的内容。通过这种方式,浏览器从给定的字符串呈现表示,您不必遍历 JSON 数组并一一呈现。它的缺点可能是网络延迟和带宽。希望它有助于决定

于 2013-01-28T15:55:55.313 回答