【发布时间】:2011-09-16 11:39:24
【问题描述】:
我正在编写一个 Chrome 应用程序,用户可以在其中创建和编写笔记(纯文本),我想离线保存笔记。
我从html5了解到有几种存储解决方案:localStorage、Web SQL DB、Application Cache。考虑到它们提供的尺寸、速度和使用便利性,我想知道您对如何选择它们的建议。
【问题讨论】:
标签: javascript html local-storage offline
我正在编写一个 Chrome 应用程序,用户可以在其中创建和编写笔记(纯文本),我想离线保存笔记。
我从html5了解到有几种存储解决方案:localStorage、Web SQL DB、Application Cache。考虑到它们提供的尺寸、速度和使用便利性,我想知道您对如何选择它们的建议。
【问题讨论】:
标签: javascript html local-storage offline
据此:https://developer.chrome.com/apps/offline_apps#saving-locally
打包的应用程序不能使用 Web SQL 数据库或 localStorage。 WebSQL 规范已经被弃用了一段时间,localStorage 同步处理数据(这意味着它可能很慢)。存储 API 异步处理数据。
IndexedDB 是推荐的存储机制。
【讨论】:
这基本上是一个键/值数据库,您可以使用它而不是 cookie 来存储设置或其他用例,您可能会在服务器上使用 memcache 等组件。我个人会将此用于需要缓存的数据。
我假设您的意思是通过清单文件进行缓存。这应该补充您对缓存的其他用途。这允许您在用户设备上缓存实际资源,例如图像、javascript 文件和 html 文件,以便它们在与 Internet 断开连接时可以在您的应用程序中工作
这是一个您要在其中存储用户数据的数据库,您可能也希望将它用于存储在服务器上的 sql 数据库中的数据。
【讨论】:
localStorage 是迄今为止最简单的解决方案,它是您应该用于此任务的解决方案。它允许您存储字符串,因此只要您的数据可以表示为字符串 - 它就可以工作(通常的做法是在保存之前将非字符串数据转换为 json,然后解析返回)。
WebDB 是您的普通数据库。如果您需要跨多个表对数据运行复杂的查询,则可以使用它。对于存储笔记,这将是一个矫枉过正。
Application cache 是完全不同的东西,我不明白你如何在这里应用它。用于缓存html页面和资源。
【讨论】: