客户端数据存储

时间:2013-01-28 14:54:33

标签: javascript performance html5 web

我正在构建一个页面,它取决于日期范围,显示0到几百行。当用户进入页面时,它会加载所有行并显示它们,然后用户可以根据需要过滤数据。这在Chrome中看起来很合理但IE8在某些时候变得非常慢。 (不幸的是IE8是重要的浏览器)

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

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

或者用指定的查询命中服务器并且只返回所需的数据总是更好吗?

1 个答案:

答案 0 :(得分:0)

在页面加载时渲染DOM中的所有行,并在JSON数组中打印数据的必要字段。 当筛选条件更改时,使用JSON筛选数据,然后使用JSON中的唯一标识符隐藏表中的行(仅隐藏,而不是删除)。这样你就不必重新渲染现有的行。

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