Sqlite in chrome
是否有可能使与sqlite数据库交互的chrome扩展类似于firefox扩展?您能否给我一些建议或链接,有关开发与sqlite交互的chrome扩展的更多信息?
谢谢
您可以使用Web SQL API,它是浏览器中的普通SQLite数据库,并且您可以像使用Lita一样打开/修改它,就像其他任何SQLite数据库一样。
Chrome会根据域名或扩展名自动定位数据库。几个月前,我在博客上发布了有关如何删除Chrome数据库的简短文章,因为在测试某些功能时,它非常有用。
您也许可以使用sql.js。
sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. no C bindings or node-gyp compilation here.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script src='js/sql.js'> //Create the database var db = new SQL.Database(); // Run a query without reading the results db.run("CREATE TABLE test (col1, col2);"); // Insert two rows: (1,111) and (2,222) db.run("INSERT INTO test VALUES (?,?), (?,?)", [1,111,2,222]); // Prepare a statement var stmt = db.prepare("SELECT * FROM test WHERE col1 BETWEEN $start AND $end"); stmt.getAsObject({$start:1, $end:1}); // {col1:1, col2:111} // Bind new values stmt.bind({$start:1, $end:2}); while(stmt.step()) { // var row = stmt.getAsObject(); // [...] do something with the row of result } |
Chrome支持WebDatabase API(由sqlite支持),但看起来W3C停止了其开发。
我不太确定你是说"我可以在chrome中使用sqlite(websql)"还是"我可以在firefox中使用sqlite(websql)",所以我将同时回答:
- 您不能在Firefox中使用WebSQL。 (sql.js是一个选项,但实际上,数据库需要1.5 mb的js吗?)
- 您绝对可以在chrome扩展程序中使用WebSQL。例如,请参阅webkit window.openDatabase文档以获取介绍。
请注意,WebSQL不是到.sqlite数据库的完全访问管道。是WebSQL。您将无法运行某些特定的查询,例如
对于创建/读取/更新/删除来说真是太棒了。
我制作了一个小库来帮助处理所有烦人的细节,例如创建表和查询,并提供了一个带有关系的ORM / ActiveRecord模式以及所有的大量示例,您可以立即开始学习,可以查看在这里
此外,请注意,如果您要构建FireFox扩展名:它们的扩展名格式即将更改。确保您要花费两次时间。
尽管WebSQL规范已被弃用多年,但即使到了2017年,它仍然看起来在可预见的时间内不会从Chrome中删除。他们正在跟踪使用情况统计信息,在现实世界中仍然有大量的chrome扩展程序和网站正在实施该规范。