- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Chrome 浏览器列出了我自己网站的两个索引数据库:
Ursprung: http://www.example.com/
Größe auf Datenträger: 5,5 KB
Zuletzt geändert am: Donnerstag, 9. April 2015 22:23:53
Ursprung: https://www.example.com/
Größe auf Datenträger: 1.048 B
Zuletzt geändert am: Dienstag, 3. März 2015 22:49:21
关于我的研究,这是通过 indexedDB 得出的结果。由于我不知道是谁设置了这个数据库以及他们的名称是什么,我尝试 find the names之后delete them如下:
<script>
indexedDB.webkitGetDatabaseNames().onsuccess = function(sender, args) {
console.log(sender.target.result);
var req = indexedDB.deleteDatabase(sender.target.result);
req.onsuccess = function () {
console.log("Deleted database successfully");
};
req.onerror = function () {
console.log("Couldn't delete database");
};
req.onblocked = function () {
console.log("Couldn't delete database due to the operation being blocked");
};
};
</script>
控制台显示已成功删除数据库
,但 Google Chrome 网站数据中的条目仍保留。它仅改变大小(5 到 10 kB 之间)并且时间戳发生变化。 sender.target.result
的 console.log
返回:
DOMStringList {length: 0, item: function, contains: function}length: 0__proto__: DOMStringList
...
出了什么问题,如何通过 Javascript 删除两个数据库?
更新1
现在我尝试自己创建一个新数据库,以找出需要做什么才能再次删除它。最后这有效了(一步适用于多个数据库):
<script>
// delete all databases
window.indexedDB.webkitGetDatabaseNames().onsuccess = function(sender, args) {
console.log(sender.target.result);
for (var key in sender.target.result) {
window.indexedDB.deleteDatabase(sender.target.result[ key ]);
}
};
// create a database
//window.indexedDB.open("testDB", 1);
</script>
但经过所有这些测试后,Google Chrome 中的索引数据库文件大小增加到 105 KB:
Größe auf Datenträger: 105 KB
Zuletzt geändert am: Donnerstag, 9. April 2015 23:26:27
浏览器似乎保留了过去最大使用的数据库大小,尽管我删除了它。或者可以恢复数据吗?
下一个问题是为什么第二个数据库仍然没有变化。这是其他类型的数据库吗?我真的觉得无法控制通过我的网站创建并保存在访问者浏览器中的内容很可怕。
最佳答案
Google Chrome lists two indexed databases for my own website
Chrome 在哪里做到这一点?
我怀疑您看到的不是 IndexedDB 数据库。
关于javascript - indexedDB.deleteDatabase() 不删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29548474/
注销后,我尝试删除所有表,然后在返回我的 LoginActivity 时重新创建它们。 我尝试执行 deleteDatabase 但这似乎根本没有删除数据库,因为当我返回 LoginActivity
我正在尝试删除用于单元测试的数据库: var DeleteDb = indexedDB.deleteDatabase(dbName); 这段代码直接在jasmine中的第一个beforeEach中调用
Chrome 浏览器列出了我自己网站的两个索引数据库: Ursprung: http://www.example.com/ Größe auf Datenträger: 5,5 KB Zulet
我对android 网站上的记事本教程有一个简短的问题。我在教程代码中写了一个简单的函数来删除整个数据库。它看起来像这样: 数据助手.java public void deleteDatabase()
如果我现在进入浏览器的控制台(我使用的是 Chrome),在这个页面上输入 indexedDB.open("MyDB").onsuccess = function(e) { console.log("
当我们想在android上删除一个sqlite数据库,我们可以这样写: MainActivity.this.deleteDatabase("CollectionDebug.db"); 然后我在 Con
Let's look at what the IndexedDB spec says about deleting a database.具体来说,我关心的是如果您尝试删除仍然有一个或多个打开连接的数
我是一名优秀的程序员,十分优秀!