从Web Workers访问IndexedDB

vec*_*tor 5 firefox web-worker indexeddb

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

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

indexedDB = indexedDB || msIndexedDB || mozIndexedDB || webkitIndexedDB || OIndexedDB;
Run Code Online (Sandbox Code Playgroud)

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

Den*_*ski 8

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

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

indexedDB = typeof window == 'object' ? window.webkitIndexedDB || webkitIndexedDB;
Run Code Online (Sandbox Code Playgroud)

  • 太感谢了。我找了一晚上也没找到。看起来还需要一段时间才能推出……好吧,我只浪费了一天的时间……回到绘图板…… (2认同)
  • Deni,fyi,对于chrome 24(当前稳定的通道)你不需要那些东西,`indexedDB`不再以chrome为前缀.无论你是否在工作中运行,直接的`indexedDB`就足够了. (2认同)