26

私はFirefox(Ubuntu)でIndexedDBで遊んでいます

IndexedDB データベースの内容を視覚化する方法はありますか? または、プログラムで行う必要がありますか?

4

7 に答える 7

20

最先端の Chromium ビルドでは、Chrome devtools の [Resources] パネルで IndexedDB のコンテンツを表示できると報告されていますが、Firefox の IndexedDB コンテンツを非プログラム的に表示する方法を 1 つだけ知っています。それは .sqlite ファイルを直接ロードすることです。

Firefox の IndexedDB .sqlite ファイルはOS X にあり、Windows/Users/{USER}/Library/Application Support/Firefox/Profiles/{PROFILE}/indexedDBにあるはずです。C:\Users\{USER}\AppData\Roaming\Mozilla\Firefox\Profiles\{PROFILE}

私は、クロスプラットフォームである優れた (そして無料の) Firefox ツールSQLite Managerを使用しています。

このように見える

ただし、コンテンツはバイナリ BLOB として保存されることが多く、人間が判読できない可能性が高いことに注意してください。ただし、キーはテキストとして保存されるため、手で読み取れる必要があります。

更新ローカル ファイルは依然として IDB データベースとストアを表示する優れた方法ですが、Chrome の [リソース] パネルで優れたツールを利用できるようになりました。

于 2012-03-26T19:06:33.327 に答える
9

Firefox 用の IndexedDB Browser アドオンをダウンロードしました。それはうまくいきます。ダウンロードすると、次の場所にあります。

ツール > Web 開発者 > IndexedDB ブラウザ

https://addons.mozilla.org/en-US/firefox/addon/indexeddb-browserupdated-fix/

編集: Firefox 26 以降、IndexedDB のファイルは

{PROFILE}/indexedDB/
{PROFILE}/storage/persistent/
現在のバージョン (0.1.4) は、この変更を処理しません。ただし、シンボリックリンクで簡単に解決できます。

于 2013-11-06T16:32:53.593 に答える
3

Ubuntu 上の Firefox indexedDB の場所は次のとおりです。

~/.mozilla/firefox/*.default/storage/persistent/

また

~/.mozilla/firefox-trunk/*.default/storage/persistent/

于 2013-11-30T14:54:28.633 に答える
2

私の indexeddbviewer を試すことができます。これはhttp://linq2indexeddb.codeplex.comにあります。

次のことを行う必要があります: - 次の参照をページに追加します。

<script type="text/javascript" src="../Scripts/jquery-1.7.2.js"> </script>
<script type="text/javascript" src="../Scripts/jquery-ui-1.8.20.js"> </script>
<script type="text/javascript" src="../Scripts/Linq2IndexedDB.js"> </script>
<script type="text/javascript" src="../Scripts/IndexedDBViewer.js"> </script>

これは、jQuery + jQuery UI および linq2indexedDB を取得する必要があることを意味します (これは私のライブラリであり、http://linq2indexeddb.codeplex.comでも取得できます)。

そして、それを機能させるには、本文に次を追加します。

<body>
    <p><label id="lblDatabaseName" for="txtDatabaseName">Database name:</label> <input type="text" id="txtDatabaseName" /><input type="button" id="btnViewDatabase" value="View database" /></p>
    <div id="tabs">
        <ul>
        </ul>
    </div>
</body>

できるだけ簡単な方法で解決するようにします。

もう 1 つの方法は、私の linq2indexeddb ライブラリを使用して、次のように新しいインスタンスを作成することです。

var db = window.linq2indexedDB("Database name", null, true)

これを行った場合は、属性ビューアーを呼び出すことができます。これにより、indexeddb データベースに関するすべての情報が得られます。

db.viewer
于 2012-08-13T06:03:11.080 に答える
0

WhatsApp Web セッションから indexedDB を読み取る必要がありましたが、次のようにしました。

function readDB() {
    let dbName = "wawc";
    let dbVersion = 70;
    let request = indexedDB.open(dbName, dbVersion);
    request.onsuccess = e => {
      let db = e.target.result
      let tx = db.transaction("user", "readonly");
      let jstore = tx.objectStore("user");
      let request = jstore.openCursor();
      request.onsuccess = e => {
        let cursor = e.target.result;
        if (cursor) {
          console.log(cursor.key, cursor.value);
          cursor.continue();
        }
      }
    }
    request.onerror = e => {
      console.log("error"+e.target.error);
    }
}
readDB();

コンソール ログには、「wawc」データベースのテーブル「user」の内容が表示されます。

于 2020-11-22T11:21:36.737 に答える