从Web Workers访问IndexedDB

时间:2013-01-23 12:11:28

标签: firefox web-worker indexeddb

我似乎无法弄清楚如何在Web worker中使用indexedDB。我尝试了很多不同的方法,但indexedDB在工作范围内总是"undefined"。我认为它应该可以通过indexedDBself.indexedDB ???

访问
self.indexedDB = self.indexedDB || self.msIndexedDB || self.mozIndexedDB || self.webkitIndexedDB || self.OIndexedDB;

indexedDB = indexedDB || msIndexedDB || mozIndexedDB || webkitIndexedDB || OIndexedDB;

所有都是undefined ...我甚至迭代了自我对象的属性,并且没有indexedDB属性或方法。 fwiw,我正在使用ff 18,AND,ff nightly(21a),我尝试使用镀铬。

2 个答案:

答案 0 :(得分:7)

2015年9月更新: 现在可以从Firefox中的Web worker访问IndexedDB: https://bugzilla.mozilla.org/show_bug.cgi?id=701634

如果要在chrome中使用IndexedDB,请使用以下行:

indexedDB = typeof window == 'object' ? window.webkitIndexedDB || webkitIndexedDB;

答案 1 :(得分:2)

37(2015年3月31日发布)以来,

可以从Web Workers访问

  

<强>索引资料
  用于存储包含简单值和分层对象的记录的数据库。

     

IndexedDB API WebWorkers screenshot

请参阅Functions and classes available to Web Workers (MDN)