Firefox indexedDB无法正常工作

时间:2017-10-06 16:06:12

标签: javascript jquery firefox local-storage indexeddb

我试图确定用户是处于私人/隐身浏览模式。所以,我试图访问indexedDB来测试私有模式:

var is_private = false;
if (window.indexedDB && /Firefox/.test(window.navigator.userAgent)) {
    var db;
    try {
        db = window.indexedDB.open('test');
    } catch(e) {
        is_private = true;
    }
}

在Firefox默认版本(非ESR)上,工作正常:普通浏览is_privatefalse,私密模式is_private等于true

但是在Firefox ESR上,即使在正常浏览模式下,最新版本也会返回true。

Firefox ESR上的

console.error从window.indexedDB.open('test')行的下方打印返回此错误:

enter image description here

修改 我编写了下面的js代码以获取有关错误异常的更多详细信息:

var db = window.indexedDB.open('test');
db.onerror = function(event) {
    console.log(db.error);
});

输出为:DOMError { name: "UnknownError", message: "The operation failed for reasons unrelated to the database itself and not covered by any other error code." }

在浏览器控制台中:

console.log(window.indexedDB.open('test'));

输出是: IDBOpenDBRequest { onblocked: null, onupgradeneeded: null, source: null, transaction: null, readyState: "pending", onsuccess: null, onerror: null }

请注意, readyState 始终为"pending"

0 个答案:

没有答案