从Web Workers访问IndexedDB

问题描述 投票:5回答:2

我似乎无法弄清楚如何在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 ...我什至遍历了self对象的属性,并且没有indexedDB属性或方法。首先,我正在使用ff 18和AND,每晚ff(21a),我尝试使用chrome。

firefox web-worker indexeddb
2个回答
8
投票

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

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

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

3
投票

[ 可以访问,自 37(2015年3月31日发布)以来可从Web Workers访问。

IndexedDB 数据库,用于存储包含简单值和分层对象的记录。

IndexedDB API WebWorkers screenshot

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

© www.soinside.com 2019 - 2024. All rights reserved.