我今天正在查看一个关于mon脚本的脚本,试图弄清楚为什么它不再起作用了。玩了一会儿之后,我意识到它在firefox 3.6上工作得很好,但在后来的版本上却没有,比如当前的版本(8)。
经过一番谷歌搜索后,我降落了here。
我不确定我是否正确阅读此内容。 WebSQL正在完全从Firefox中删除,因为标准化过程已经陷入“僵局”,因为除了SQLite之外没有其他的实现方式?这是否意味着依赖于WebSQL的greasemonkey脚本需要ff 3.6才能正常运行?
我想知道简单地将SQLite分解为NotSQLite并让标准化过程继续进行是多么困难......
答案 0 :(得分:3)
Firefox并没有自己解决WebSQL问题; the W3C has declared it dead
请注意Firefox still uses SQLite,它与WebSQL不同。但是,Greasemonkey脚本无法直接访问SQLite。
您可以使用sessionStorage, localStorage, and/or globalStorage来保留值。
或者你可以use IndexedDB取代WebSQL。
最后,对于全面的SQL功能,有AJAXing data back and forth to your own server的旧标准。</ p>
显然,由于缺乏持续的支持,以及增加安全漏洞的确定性,保留在FF 3.6上并不是一个好主意。
答案 1 :(得分:1)
您可能有兴趣注意到Firefox中有一个新的SQLite选项 - SQL.js。这是一个使用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
答案 2 :(得分:0)
我参加派对有点晚了,但是如果有其他人偶然发现这个问题,我已经为Firefox创建了一个插件,使用内置的SQLite支持来证明WebSQL的功能 https://addons.mozilla.org/en-US/firefox/addon/html5-websql-for-firefox/