1

我今天正在查看一个greasemonkey 脚本,试图弄清楚为什么它不再工作了。玩了一段时间后,我意识到它在 Firefox 3.6 上运行良好,但在当前版本 (8) 等更高版本上却不行。

经过一番谷歌搜索后,我来到了这里

我不确定我是否正确阅读此内容。WebSQL 完全从 Firefox 中被删除是因为标准化过程已经陷入“僵局”,因为除了 SQLite 没有替代实现?这是否意味着依赖WebSQL 的greasemonkey 脚本需要ff 3.6 才能正常运行?

我想知道将 SQLite 简单地分叉到 NotSQLite 并继续标准化过程可能有多难......

4

3 回答 3

5

Firefox 并没有自己砍掉 WebSQL。W3C 已宣布它死亡

请注意,Firefox 仍然使用 SQLite,这与 WebSQL 不同。但是,Greasemonkey 脚本不能直接访问 SQLite。

您可以使用sessionStorage、localStorage 和/或 globalStorage来保存值。

或者您可以使用 IndexedDB,它是 WebSQL 的替代品。

最后,对于完整的 SQL 功能,AJAXing 数据来回传输到您自己的服务器的旧标准。

显然,继续使用 FF 3.6 并不是一个好主意,因为缺乏持续的支持,而且安全漏洞的确定性越来越高。

于 2011-11-15T01:27:54.283 回答
3

您可能有兴趣注意到 Firefox - SQL.js中的 SQLite 有一个新选项。这是一个使用Emscripten创建的 JavaScript 库,用于将原始 C 代码转换为可运行的 JavaScript。您可以将整个 SQLite 环境加载到 Firefox(或 Chrome 或 Safari 或 IE10)中,并在内存中创建一个新数据库。如果你需要持久化东西,那可能有点棘手,但你可以根据需要将数据写入 localStorage。

如果您想查看此代码的实际效果,可以在此处查看:http ://sqlfiddle.com/#!5/781d4/2

如果您想将它与 WebSQL 进行比较,您也可以在 SQL Fiddle 上进行比较:http ://sqlfiddle.com/#!7/04eca/ 1(显然仅适用于支持 WebSQL 的浏览器)。

完全披露 - sqlfiddle.com 是我的网站。您可能对我为 SQL.js 编写的一些接口代码感兴趣 - 在这里查看:https ://github.com/jakefeasel/sqlfiddle/blob/master/javascripts/sqljs_driver.js

于 2012-05-11T03:50:06.577 回答
0

我参加聚会有点晚了,但如果其他人偶然发现这个问题,我已经为 Firefox 创建了一个附加组件,以使用内置的 SQLite 支持来证明 WebSQL 功能 https://addons.mozilla.org /zh-CN/firefox/addon/html5-websql-for-firefox/

于 2012-08-28T01:43:36.813 回答