Chrome でゲーム データを保存するために IndexedDB を使用しています。
平均的なゲームは約 4MB です。いくつかのゲームを保存してから削除した後、開発コンソールの [リソース] タブには、予想どおり、indexedDB が空であると表示されますが、コンテンツ設定の [Cookies and site data] に移動すると、indexedDB として約 12 MB が表示されます。ディスク上のサイズ。
これは、Chromeの更新と再起動の後でさえあります。以下は削除のための私のコードです。期待どおり、古いデータのクエリを削除しても何も返されません。
database.indexedDB.deleteGame = function(nameIn){
var db = database.indexedDB.db;
var trans = db.transaction(["saves"], "readwrite");
var store = trans.objectStore("saves");
var wipeSlate = store.delete(nameIn);
wipeSlate.onsuccess = function(e) {
console.log("Old game wiped");
};
wipeSlate.onerror = function(e) {
console.log("I don't think the old game existed..." + e);
};
};
次の質問を確認しました (また、検索結果にも有望なものは何も表示されません)。
- 空のデータベースがメガバイトのスペースを必要とするのはなぜですか
- 空のフィールドはデータベースのスペースを占有しますか?
- IndexedDB deleteDatabase はバージョンをリセットしません
- IndexedDB インデックスからダーティ リードを取得しているようです。これは可能ですか?
しかし、それらのどれも私の質問を扱っていません。非常に感謝しています。