問題タブ [web-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-chrome - ローカルWebSQL/IndexedDBデータベースを「ビルド済み」データベースファイルと同期しますか?
WebSQLやIndexedDBなどのローカルWebブラウザデータベースで使用するために、いわば「ビルド済み」データベースファイルをダウンロード(または同期)できるようにする計画はありますか?
現時点では、ローカルデータベースを追加または更新するには、XMLやJSONなどの形式でデータをエクスポートまたは保存してから、データを取得、解析、および保存する必要があります。
javascript - javascript から HTML5 WebDB (Web SQL) データベースのサイズを取得する
HTML5 の WebDB 仕様を使用して、永続的なオフライン ストレージ用のオフライン データベースを作成しています。ただし、javascript からデータベースの現在のサイズを取得する方法が必要です。
私が考えることができる唯一のことは、データベース内のすべてをループして、すべてのオブジェクトのサイズを追加することです。唯一の問題は、これがプリミティブ値に対してのみ機能することです。そのため、最初にすべての JavaScript オブジェクトを (JSON を使用して) シリアル化した場合にのみ機能し、ハックのように見えます。
それを行うより良い方法はありますか?正確な数字が必要です。
助けてくれてありがとう
jquery - Jquery Deferred-これはスコープですか?構文?
DBをクリアするための一般的なルーチンがあります。
そして、このルーチンは次の場所から呼び出されます。
WebDBBuilder.php
は、サーバーからデータを読み取り、サーバーDBで利用可能なデータからローカルWebDBをビルド/再構築するファイルです(W3Cにもかかわらず、私たちはこれを放棄するずっと前に開始しました)。このルーチンは、サーバーをポーリングするルーチンが新しいデータが利用可能であることを示すフラグを立てたときに呼び出されます。次に、ローカルDB内の特定のテーブルを破棄します。グローバル変数g_sSQL_dropDB
は単にDROP TABLE IF EXISTS tbl_someTable
文字列の配列です。
このtransactDB()
ルーチンは、渡されたSQLステートメントを実行するもう1つの遅延ベアリング関数です。問題のtransactDB()
テーブルが適切に削除され、アプリの残りの部分全体で使用されるため、は必要に応じて機能しています。このgetNextDataSet()
関数は、より大きなオブジェクトの一部です。正しく呼び出されています。
問題は、ページジャンプが発生しないことです。clearDB()
これは、関数 内のDeferredオブジェクトに関するある種のスコープの問題ですか?
私が見逃しているコードに何かがありますか?done()、resolve()、$。when()。then()を使用してみました。灘。
どんな助けでも深くいただければ幸いです。私はjQueryフォーラムでいくつか質問をしましたが、基本的に応答はありませんでした。そのため、ここではstackoverflowを使用したほうが幸運だと思いました。
<------------追加-------------->
素晴らしい入力をありがとう。私はジュリアンがくれたコードを取りました、そして($ .mapのマイナーな構文スイッチで)それは美しく働きました!
そして、あなたは関数の「this」参照について正しかった。私は以前にクラスからいくつかのコードを引き出して、単に頭のオナラを持っていました。変数「g_sSQL_dropWorkoutDB」は、データベースの構築と削除に使用される変数のみを保持するインクルードファイルに含まれるグローバルです。
ジュリアン、たくさんありがとう!
スコット。
html - WebSQL で PRAGMA コマンドを実行する
WebSQL から PRAGMA コマンドを実行する方法はありますか? PRAGMA は SQLite ドキュメントで定義されていますが、WebSQL では機能しないようです。
javascript - Html5 WebSql トランザクションがアラートで奇妙な動作をする
コードにアラートを入れると、WebSql のトランザクションの動作がおかしくなりました。3つの取引があります。これらは t1、t2、および t3 です。
次のコードは、期待どおりに完全に機能します。
しかし、トランザクションを実行する直前にアラートステートメントを挿入すると。物事は期待どおりに機能しません。
例えば。alert('An alert just before transaction t3'); を入れた場合
変更後のコードは次のようになります。
変更後の動作の変更: 最初の 2 つのトランザクションは発生しません。
それは期待される動作ですか?はいの場合、それはどのように正当化されますか?
database - 暗号化されていないパスワードを HTML5 クライアント側データベースに保存しても安全ですか?
答えは、クライアント側のWEBSQLデータベースに暗号化されていないパスワードを保存することは安全ではないということだと思いますが、とにかく尋ねると思いました。私が尋ねている理由は、ドロップボックスアップロードツールをWeb アプリですが、ユーザーの Dropbox アカウントにアクセスするにはパスワードをプレーン テキストで入力する必要があります。クライアント側でパスワードをハッシュし、必要に応じてハッシュを解除する foobar の方法を考え出すことはできますが、ハッシュを解除できる場合誰でも同様に行うことができますが、その場合の回避策はありますか?
html - Web SQL データベースの外部キーのサポート
このステートメントを Safari 5.0.5 でテストしていますが、FOREIGN の前にエラーが発生します。
次のエラー メッセージが表示されます。
この SQL ステートメントのどこにエラーがありますか?
sqlite - JavaScript から WebSQL データベースを圧縮する方法
HTML5 + WebSQL を使用して、ローカル データベースからサーバーにデータを同期するアプリを開発しました。
データが削除されても、sqlite データベース ファイルのサイズは変わりません。これには空のスペースが含まれており、新しいデータが挿入されると埋められることはわかっていますが、制限があるため、サイズをできるだけ小さくしたいと考えています。
sqlite の VACUUM コマンドがデータベースを圧縮して未使用の領域を削除できることは知っていますが、JavaScript から WebSQL データベースで実行しようとすると、「論理エラーまたはデータベースが見つかりません」というエラーで失敗します。ブラウザの外部からコマンドを実行すると正常に動作します。
私の質問は次のとおりです。
JavaScript から VACUUM コマンドを実行できますか?
ブラウザはこれを自動的に実装し、最終的に呼び出されますか? (これに関するドキュメントが見つかりません)
助けてくれてありがとう。
html - HTML5 クライアント ストレージ: WebSqlDatabase 対 WebStorage 対 インデックス付きデータベース
HTML5 のクライアント ストレージの機能についていくつか質問があります。私がこれまでに発見したことから、3つの異なる可能性があります。
WebSQLDatabase : SQLite データベースに格納されているクライアント サイトの SQL テーブルをサポートします。この規格は廃止されました。これは、現在これをサポートしているブラウザが将来的にこのサポートを廃止するということですか?
WebStorageと IndexedDB は私にはかなり似ているようです。どちらもキー/値ストア機能を提供します。違いはどこにありますか?
iphone - iOS デバイスで WebSQL のパフォーマンスを向上させるものは何ですか?
Android と iOS で実行されている PhoneGap アプリがあり、WebSQL を使用しています。1 つのテーブルには、10 列と約 350 行があります。簡単なクエリを実行すると:
現在、これは Android でかなりうまく動作します。実行には約 2 ~ 3 秒かかります。しかし、iOS デバイス (iPhone 3G など) では、約 30 秒かかり、許容できないほど遅くなります。
これを iOS でより速く実行する方法はありますか? または、この機能を実現する他の方法は何ですか?