Vác*_*ych 8 javascript firefox indexeddb
在Firefox 17.0.1中,当我尝试打开IndexedDB数据库时,Firebug控制台向我显示InvalidStateError异常.此外request.onerror事件引发,但event.target.errorCode是不确定的.
if (window.indexedDB) {
var request = window.indexedDB.open('demo', 1);
request.onsuccess = function(event) {
// not raised
};
request.onupgradeneeded = function(event) {
// not raised
};
request.onerror = function(event) {
// raised with InvalidStateError
};
}
Run Code Online (Sandbox Code Playgroud)
有没有人在Firefox中有过IndexedDB的经验?
更新
Firefox 18.0.1具有相同的行为.Comlete来源.
我回答是因为问题仍然存在(在 Firefox 54 中)。如果您出现以下情况,就会发生这种情况:
为了防止InvalidStateError, try catch不起作用(但对于其他错误有用,例如禁用 cookie),而是需要event.preventDefault()。是的,我知道,这太容易让人难以置信了。:)
if (window.indexedDB) {
var request = window.indexedDB.open('demo', 1);
request.onsuccess = function(event) {
// not raised
};
request.onupgradeneeded = function(event) {
// not raised
};
request.onerror = function(event) {
// raised with no InvalidStateError
if (request.error && request.error.name === 'InvalidStateError') {
event.preventDefault();
}
};
}
Run Code Online (Sandbox Code Playgroud)
感谢访问https://bugzilla.mozilla.org/show_bug.cgi?id=1331103#c3。
| 归档时间: |
|
| 查看次数: |
3435 次 |
| 最近记录: |