【发布时间】:2012-02-07 16:24:28
【问题描述】:
我已经构建了一个处理一组数据的单页 Web 应用程序:
- 2,000 到 3,000 项
- 每个项目都具有相同的属性:州、城市、街道、邮政编码
我目前正在通过 AJAX 检索数据并将它们存储在一个对象数组中(每个数组元素都是一个对象,其中包含州、城市、街道、邮政编码的键/值)。
我正在考虑修改我的代码,将我的项目存储在一个隐藏的 html 表中:
- 每项一行
- 每个属性一列(州、市、街道、邮政编码)
我看到的主要好处是:当他们在异地工作时,用户可以将我的页面保存到离线工作,因为隐藏表是 DOM 的一部分。
表格也是一种方便的格式,所有浏览器都能理解(我需要支持 IE 7),并且每个单元格都可以通过其坐标轻松访问(rows[i].cells[j])。
我有点担心 DOM 遍历的性能,但我认为我可以将表格与 DOM 分离,并且仅在用户保存页面时附加它。
我错过了什么吗?在我的情况下,为什么使用隐藏表进行数据存储不是一个好主意?
【问题讨论】:
-
将其写入 HTML5 规范并使用本地化存储
-
听起来很酷,但如果您要经常在客户端操作数据,我肯定会使用 jQuery 让您的生活更轻松。
-
@thenetimp +1 ,但是 IE7 支持吗?
-
您是否有理由削弱任何体面的浏览器的功能?我建议您使用 WebSQL / IndexedDB 并回退到 IE 7 等浏览器的本地 javascript 变量。因此,当您重新加载页面时,它仍然在体面的浏览器中存储数据。
-
window.name 最多可容纳 4MB 的字符串数据。对于 IE7,您可以将 JSON 字符串化并推入其中。
标签: javascript json data-storage