112

一連のHTMLファイルとSQLiteデータベースがあり、file://スキームを使用してブラウザからアクセスしたいと思います。JavaScriptを使用してデータベースにアクセスし、クエリ(およびテーブル)を作成することは可能ですか?

4

7 に答える 7

49

実際、答えはイエスです。これを行う方法の例を次に示します。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データベースにアクセスできます

于 2012-11-02T09:46:11.197 に答える
45

JavaScriptにコンパイルされたSQLlitelibであるSQL.jsを使用して、HTML5で導入されたローカルストレージにデータベースを保存できます。

于 2012-11-02T09:52:00.780 に答える
20

最新の回答

sql.jsの私のフォークは、krikenのリポジトリで元のバージョンにマージされました。

優れたドキュメントは、元のリポジトリでも入手できます。

元の回答(時代遅れ)

新しいバージョンのsql.jsを使用する必要があります。これはsqlite3.8の移植版であり、優れたドキュメントがあり、(私が)積極的に保守しています。プリペアドステートメントとBLOBデータ型をサポートします。

于 2014-05-29T19:36:42.707 に答える
4

の最も興味深い機能の1つは、HTML5データをローカルに保存し、アプリケーションをオフラインで実行できるようにする機能です。これらの機能を処理する3つの異なるAPIがあり、そのうちの1つを選択するかどうかは、ローカルに保存する予定のデータをどのように処理するかによって異なります。

  1. Webストレージ:キーと値のペアを持つ基本的なローカルストレージ用
  2. オフラインストレージ:マニフェストを使用して、オフラインで使用するためにファイル全体をキャッシュします
  3. Webデータベース:リレーショナルデータベースストレージ用

詳細については、HTML5ストレージAPIの紹介を参照してください。

そして使い方

http://cookbooks.adobe.com/post_Store_data_in_the_HTML5_SQLite_database-19115.html

于 2012-11-02T10:02:31.660 に答える
3

PouchDBのようなものを使用するのはどうですか?http://pouchdb.com/

于 2014-06-02T16:47:10.543 に答える
-4

IMHO、最良の方法は、AJAXを介してPOSTを使用してPythonを呼び出し、Python内のDBで必要なすべてのことを実行してから、結果をjavascriptに返すことです。Pythonでのjsonとsqliteのサポートは素晴らしく、Pythonの少し最近のバージョンにも100%組み込まれているため、「これをインストールして、それをインストールする」という苦痛はありません。Pythonの場合:

import sqlite3
import json

...必要なのはそれだけです。これはすべてのPythonディストリビューションの一部です。

@Sedrick Jeffersonが例を求めたので、(やや遅れて)ここでJavascriptとPythonの間でスタンドアロンを行ったり来たりしました。

于 2016-01-30T13:50:49.953 に答える
-4

PythonとFlaskでコーディングするのが最善です。JavaScriptでWebSQLを使用する場合、それはブラウザのCookieであるため、個々のウィンドウのデータのみを保存し、世界中では保存しません。FlaskはPythonWebサーバーであり、それを使用してページを作成すると、sqlite3をインポートできます。別の方法はphpを使用することですが、要点はJavaScriptを使用することは悪い考えであるということです。

PS実際には、loaclStorageを使用してみることができます。保存したい限り、データを保存できると聞きました。

于 2021-06-24T17:47:53.470 に答える