鉴于 WebSQL 不再被开发并且 IndexedDB 尚未普及,我们作为客户端关系存储开发人员的选择是什么?现在最好不要使用这些功能中的任何一个吗?在我的场景中,我最初正在构建一个支持 WebKit(Chrome 和 Safari)的浏览器插件,因此可以接受(尚未)在 Firefox 和 IE 中采用的技术。我意识到我可以在 Chrome 和 Safari 中使用 WebSQL,但是由于 W3C 规范没有得到维护,因此无法知道对这些浏览器的支持会持续多久。
3 回答
如果它是一个 Firefox 扩展,那么您可以使用一个看起来非常类似于 WebSQL 的界面。SQLite 组件将在 Firefox 中保留很长时间,因为它用于许多其他东西,包括(我相信)IndexedDB 实现,只是不允许您从网页访问它。
你是对的,没有办法知道对 WebSQL 的支持会在 WebKit 中保留多长时间,但 Apple 之前曾表示,-webkit-
即使在实现标准版本之后,他们仍将继续支持许多前缀 CSS 属性(尤其是在最终标准不同的情况下)从他们的前缀版本),因为他们已经看到了如此广泛的用途。我认为 WebSQL 将以类似的方式处理,如果支持被丢弃,您至少会收到相当多的警告。
歌剧我不确定。
IE 永远不会包含 SQLite,因此它永远不会包含 WebSQL。如果你无论如何都在做一个插件,你总是可以用与Gears类似的方式构建 SQLite 作为它的一部分。
我首先想你肯定弄错了——websql报废了?但是,是的,我看到它已经消失了。
我认为显而易见的答案是寻找一个抽象底层存储引擎的 API。如果有一些东西可以让我编写带有故障转移到服务器端数据库的选项的 SQL,那就太好了——但是对于 websql 的问题,症结似乎是 SQL 支持。
persistence.js 取得了一些进展。WSPL似乎并没有取得重大进展。
为 indexedDB 构建 SQL 层看起来是一项艰巨的任务,不太可能很快发生。
看起来很多其他人都在尝试解决类似的问题。例如1
您可以使用 localStorage 变量来存储 json 字符串以保留所有数据或将其划分为仍在 localStorage 中的许多变量。阅读更多关于它的信息。