首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FirefoxOS 1.X中如何在webworkers中使用IndexedDB

在FirefoxOS 1.X中如何在webworkers中使用IndexedDB
EN

Stack Overflow用户
提问于 2015-11-25 09:49:23
回答 2查看 157关注 0票数 0

我知道IDB和web worker是今年才实现的,但是读了mdn1之后,我发现这个连接在b2g (firefoxOS)中是可行的,因为它是第一个版本。

我在一个worker中使用idb做了一个应用程序,但在1.X版本的b2g中启动失败。我已经在self中寻找了一些moz- idb (ish)变量,但什么也没有找到(这个变量没有控制台或适当的调试器:( ),也在mdn中进行了深入的搜索,但在b2g的worker中仍然没有idb的示例或文档。

你能帮我举一个简单的例子或者indexeddb的变量名吗?

资料来源:1 http://i.stack.imgur.com/fAUyb.png

EN

回答 2

Stack Overflow用户

发布于 2015-12-01 03:12:33

在Firefox37中,IndexedDB被添加到工作进程中:

https://www.mozilla.org/en-US/firefox/37.0/releasenotes/

Firefox OS 2.2就是基于这个版本的。所有早期版本的Firefox OS都将在workers上缺少IDB。

请注意,应该可以在工作人员中检测IDB,如果不可用,则使用polyfill。它基本上涉及到使用postMessage()将操作代理回主窗口。

票数 0
EN

Stack Overflow用户

发布于 2015-11-26 23:39:55

好吧,我完全同意正常调试工作者是相当困难的。但是有一些技巧你可以使用,我选择了Object.getOwnPropertyNames。这是在self上调用该方法的结果

FunctionObjectevalEventTargetWorkerGlobalScopeDedicatedWorkerGlobalScopepostMessageonmessage,D11,D12,D13,D14,D15,D27,D28,D29,D30,D31,D31,D32,IDBCursorIDBCursorWithValueIDBDatabaseIDBFactoryIDBIndexIDBKeyRangeIDBObjectStoreIDBRequestIDBOpenDBRequestIDBTransactionIDBVersionChangeEventImageBitmapImageDataMessageChannelMessageEventMessagePortNotificationPerformanceEntryPerformanceMarkPerformanceMeasure,<代码>D75,<代码>D76,<代码>D77,<代码>D78,TextEncoderURLSearchParamsWebSocketWorkerConsoleundefinedArrayBooleanJSON,D88,D89,D90,D91,D92,D93,D94,D95,D96,D97,D98,D99,D100,D101,D102,D103,D104,D105,D106,D107,D108,D109/code>,D111/code>URIErrorIteratorStopIterationArrayBufferInt8ArrayUint8ArrayInt16ArrayUint16ArrayInt32Array,D121,D122,D123,D124,D125,D126,D127,D128,D129,D130,D131,D132,D133

正如您所看到的,存在与IDB相关的对象(不能使用new实例化),但实例不存在。此外,还缺少IDBEnvironment构造函数。Firefox中的工人并不是第一个出问题的。

我创建了一个bug report --这是对这个特性的测试:https://jsfiddle.net/fuj7koog/1/

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33907201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档