Firefox(Ubuntu)でIndexedDBを使用してきました
IndexedDBデータベースの内容を視覚化する方法はありますか?それともプログラム的に行う必要がありますか?
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 を使用しています。これはクロスプラットフォームです。
ただし、コンテンツはバイナリblobとして保存されることが多く、人間が読めるとは限りません。ただし、キーはテキストとして保存されるため、手動で読み取ることができます。
Updateローカルファイルは引き続きIDBデータベースとストアを表示する優れた方法ですが、Chromeには、 [リソース]パネル。
Firefox用のIndexedDB Browserアドオンをダウンロードしました。それはうまくいきます。ダウンロードすると、次の場所にあります。
ツール> Web開発者> IndexedDBブラウザ
https://addons.mozilla.org/en-US/firefox/addon/indexeddb-browserupdated-fix/
編集:Firefox 26以降、IndexedDBのファイルは
{PROFILE}/indexedDB /
{PROFILE}/storage/persistent /
UbuntuでのFirefoxのindexedDBの場所は次のとおりです。
~/.mozilla/firefox/*.default/storage/persistent/
または
~/.mozilla/firefox-trunk/*.default/storage/persistent/
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
Firefoxの新しいバージョンでは、開発者ツールに便利なStorage Inspectorが付属しています。
https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector
現在、Firefoxのナイトリービルドを使用して取得する必要があります
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