一連のHTMLファイルとSQLiteデータベースがあり、file://スキームを使用してブラウザからアクセスしたいと思います。JavaScriptを使用してデータベースにアクセスし、クエリ(およびテーブル)を作成することは可能ですか?
7 に答える
実際、答えはイエスです。これを行う方法の例を次に示します。http://html5doctor.com/introducing-web-sql-databases/
悪い点は、ブラウザによるサポートが非常に限られていることです。
詳細はこちらHTML5IndexedDB、Web SQLデータベース、ブラウザ戦争
PS:@Christophが言ったように、Web SQLはもはやアクティブなメンテナンスではなく、Webアプリケーションワーキンググループはそれ以上のメンテナンスを行うつもりはないので、https ://developer.mozilla.org/en-US/docs/IndexedDBを参照してください。
SQL.js
編集
@clentfortが言ったように、SQL.jsを使用して、クライアント側のJavaScriptでSQLiteデータベースにアクセスできます。
JavaScriptにコンパイルされたSQLlitelibであるSQL.jsを使用して、HTML5で導入されたローカルストレージにデータベースを保存できます。
最新の回答
sql.jsの私のフォークは、krikenのリポジトリで元のバージョンにマージされました。
優れたドキュメントは、元のリポジトリでも入手できます。
元の回答(時代遅れ)
新しいバージョンのsql.jsを使用する必要があります。これはsqlite3.8の移植版であり、優れたドキュメントがあり、(私が)積極的に保守しています。プリペアドステートメントとBLOBデータ型をサポートします。
の最も興味深い機能の1つは、HTML5
データをローカルに保存し、アプリケーションをオフラインで実行できるようにする機能です。これらの機能を処理する3つの異なるAPIがあり、そのうちの1つを選択するかどうかは、ローカルに保存する予定のデータをどのように処理するかによって異なります。
- Webストレージ:キーと値のペアを持つ基本的なローカルストレージ用
- オフラインストレージ:マニフェストを使用して、オフラインで使用するためにファイル全体をキャッシュします
- Webデータベース:リレーショナルデータベースストレージ用
詳細については、HTML5ストレージAPIの紹介を参照してください。
そして使い方
http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html
PouchDBのようなものを使用するのはどうですか?http://pouchdb.com/
IMHO、最良の方法は、AJAXを介してPOSTを使用してPythonを呼び出し、Python内のDBで必要なすべてのことを実行してから、結果をjavascriptに返すことです。Pythonでのjsonとsqliteのサポートは素晴らしく、Pythonの少し最近のバージョンにも100%組み込まれているため、「これをインストールして、それをインストールする」という苦痛はありません。Pythonの場合:
import sqlite3
import json
...必要なのはそれだけです。これはすべてのPythonディストリビューションの一部です。
@Sedrick Jeffersonが例を求めたので、(やや遅れて)ここでJavascriptとPythonの間でスタンドアロンを行ったり来たりしました。
PythonとFlaskでコーディングするのが最善です。JavaScriptでWebSQLを使用する場合、それはブラウザのCookieであるため、個々のウィンドウのデータのみを保存し、世界中では保存しません。FlaskはPythonWebサーバーであり、それを使用してページを作成すると、sqlite3をインポートできます。別の方法はphpを使用することですが、要点はJavaScriptを使用することは悪い考えであるということです。
PS実際には、loaclStorageを使用してみることができます。保存したい限り、データを保存できると聞きました。