web-dev-qa-db-ja.com

FirefoxでIndexedDBコンテンツを表示する方法

Firefox(Ubuntu)でIndexedDBを使用してきました

IndexedDBデータベースの内容を視覚化する方法はありますか?それともプログラム的に行う必要がありますか?

24

Bleeding Edge Chromiumビルドでは、Chrome devtoolsの[Resources]パネルでIndexedDBコンテンツを表示できると報告されていますが、Firefox IndexedDBコンテンツをプログラムで表示せずに。 sqliteファイルを直接。

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

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

which looks like this

ただし、コンテンツはバイナリblobとして保存されることが多く、人間が読めるとは限りません。ただし、キーはテキストとして保存されるため、手動で読み取ることができます。

Updateローカルファイルは引き続きIDBデータベースとストアを表示する優れた方法ですが、Chromeには、 [リソース]パネル。

18
buley

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

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

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

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

{PROFILE}/indexedDB /
{PROFILE}/storage/persistent /
9
Nick Johnson

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

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

または

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

3
Nino Paolo

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

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

<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 And 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
2
Kristof Degrave

Firefoxの新しいバージョンでは、開発者ツールに便利なStorage Inspectorが付属しています。

https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector

現在、Firefoxのナイトリービルドを使用して取得する必要があります

https://nightly.mozilla.org/

2
let db;
function createDB() {    
    let dbName = "Jokes";
    let dbVersion = 5;
    let request = indexedDB.open(dbName, dbVersion);
    request.onupgradeneeded = e => {
      db = e.target.result
      console.log(db);
      let jstore = db.createObjectStore("JokeStore", {keyPath: "title"});
      let mstore = db.createObjectStore("MockStore", {keyPath: "title"});
      alert("upgrade");
    }
    request.onsuccess = e => {
      db = e.target.result
      console.log(db);
      alert("success");
    }
    request.onerror = e => {
      alert("error"+e.target.error);
    }
}
function addRecord(title, text) {
    let tx = db.transaction("JokeStore","readwrite");
    tx.onerror = e => alert(e.target.error);
    let jstoretx = tx.objectStore("JokeStore");
    jstoretx.add({title: title, text: text});
}
function viewNotes() {
    let tx = db.transaction("JokeStore", "readonly");
    let jstore = tx.objectStore("JokeStore");
    let request = jstore.openCursor();
    request.onsuccess = e => {
        let cursor = e.target.result;
        if (cursor) {
            console.log(cursor.key, cursor.value.text);
            cursor.continue();
        }
    }
}
createDB(); // Creates db if not there or opens an existing one
addRecord("Joke 1", "Knock Knock"); // Adds record
addRecord("Joke 2", "Elephant and the ant"); // Adds record
viewNotes(); // Displays all records in console
0
user6184932