web-dev-qa-db-ja.com

chromeのSqlite

Firefox拡張機能と同様にsqliteデータベースと対話するchrome拡張機能を作成することはできますか? sqliteとやり取りするchrome拡張機能の開発に関する詳細情報が記載されているリンクを教えてください。

ありがとうございました

60
xralf

ブラウザで通常のSQLiteデータベースである Web SQL API を使用できます。また、たとえば Lita を使用して、他のSQLiteデータベースと同様に開いたり変更したりできます。

Chromeは、ドメイン名または拡張IDに従ってデータベースを自動的に検索します。数か月前、ブログに短い記事 Chromeのデータベースを削除する方法 を投稿しました。これは、いくつかの機能をテストするときに非常に便利だからです。

25
martin

sql.js を使用できる場合があります。

sql.jsは、SQLite CコードをEmscriptenでコンパイルすることにより、SQLiteをJavaScriptに移植したものです。ここでは、Cバインディングやnode-gypコンパイルはありません。

<script src='js/sql.js'></script>
<script>
    //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
    }
</script>

sql.jsは単一のJavaScriptファイルであり、現在のサイズは約1.5MiBです。これはWebページでは問題になる可能性がありますが、拡張機能のサイズはおそらく許容範囲です。

21
sampathsris

Chromeは WebDatabase API (sqliteを使用)をサポートしていますが、W3Cは development を停止したようです。

13
serg

「クロムでsqlite(websql)を使用できますか」または「firefoxでsqlite(websql)を使用できますか?」

WebSQLは.sqliteデータベースへのフルアクセスパイプではないことに注意してください。それはWebSQLです。 VACUUMのような特定のクエリを実行することはできません

ただし、作成/読み取り/更新/削除には最適です。テーブルの作成やクエリなどの厄介なすべての問題を解決する小さなライブラリを作成し、リレーションとすべての膨大な例のスタックを提供し、すぐに始めることができます ここで確認できます

また、FireFox拡張機能を構築する場合: 拡張機能のフォーマットが変更されようとしていることに注意してください。 時間を2回投資することを確認してください。

WebSQLの仕様は長年廃止されていますが、2017年の今でもまだ、Chromeが予見できる時間から削除されるようには見えません。 使用統計を追跡していますが、まだ多くのchrome拡張機能とWebサイトが実際に仕様を実装しています

8
SchizoDuckie