0

Chromeまたはie8、9、および10でローカルsqliteファイルを読み書きすることは可能ですか。

このSQLite データベースを Javascript でローカルで見まし たが、html ページの JavaScript セクションにあるこのコードはデータベースを作成していないようです。

 <script type="text/javascript">

    //https://stackoverflow.com/questions/5244471/sqlite-database-in-javascript-locally?rq=1

    function createDatabase(){
        try{
            if(window.openDatabase){
                var shortName = 'db_xyz';
                var version = '1.0';
                var displayName = 'Display Information';
                var maxSize = 65536; // in bytes
                db = openDatabase(shortName, version, displayName, maxSize);
            }
        }catch(e){
            alert(e);
        }
    }
4

1 に答える 1

0

この目標を達成するには、2 つのことが必要です。

  1. ファイルシステム内で選択したファイルを読み取る必要があります
  2. ブラウザがサポートしていない限り、javascript で sqlite を実装する必要があります (既に実装されている可能性があります)。

クライアント側にデータを保存するオプションの方法があります。

  1. ローカルストレージ
  2. セッションストレージ
  3. クッキー
  4. ファイルのキャッシュ

これらのうち、最も信頼できるのは Cookie です。悪い副作用は、サイトへのすべてのリクエストが Cookie を http サーバー (http リクエスト ヘッダー内) に転送することです。さらに、Cookie には 4kb に制限されたストレージ クォータがあります。したがって、2 つの Cookie を保存すると、それぞれに 2kb、または最初の Cookie に 1kb、2 つ目の Cookie に 3kb が割り当てられます。

localStorage: Chrome の場合は 2.5 MB、Firefox と Opera の場合は 5 MB、Internet Explorer の場合は 10 MB。

良い部分:

  1. 拭くまで保管されます
  2. キー - 値ベースのアーキテクチャでアクセスできます。localStorage["foo"] = "bar";

悪い点は、JavaScript を介してのみアクセスできることです。

sessionStorage は localStorage と同じですが、ブラウザを閉じるとすぐに削除されます。

ファイルのキャッシュは、リソースのハッキングに似ています。保存したいすべてのデータを含む一意のファイルをユーザーに転送し、毎回キャッシュから読み取ることができます。

悪い部分:

  1. オフライン ストレージ クォータに達するとすぐに削除されます
  2. ウェブサーバーで設定する必要があります
  3. あなたが本当にそれを利用できない限り、悪い考えです。

SQL の使用方法について言及しなかったのはなぜですか?

IE でファイルを読み取るには、ActiveX コンポーネントを使用するだけです。これには、ユーザーが低いセキュリティ設定を設定し、ユーザーが実際に Web サイトにファイル アクセスを許可する必要があります。

chrome やその他のブラウザーでファイルを読み取る場合、または html5 をサポートする IE の代替方法:

  1. ファイルをブラウザウィンドウにドラッグして読み取ることができます
  2. ファイル選択ボックスでファイルを選択して読み込むこともできます
  3. プラグインを介してファイルを読み取ることができます

ファイルを読み取る 3 番目の方法が最も信頼性が高くなりますが、ユーザーが Java を有効にしている必要があります。

Javaを介してファイルを読み取ることができました。

今sqliteの部分:

  1. javascript で sqlite を実装できます。(私はそれをしたくありません)
  2. 廃止された sqlite データベースを html5 に使用できます。(それはあなたが求めているものです) localStorage に置き換えられました。
  3. Java または browserplugin で実装できます。(たぶん簡単ですが、それでも私はlocalStorageを好むでしょう)

多分これはあなたを助けます。

于 2013-04-01T10:20:02.133 に答える