如何在FirefoxOS 1.X中的Web工作者中使用IndexedDB

时间:2015-11-25 01:49:23

标签: indexeddb web-worker firefox-os

我知道IDB和网络工作者今年刚刚实施,但是阅读mdn [1]说这个连接自首次发布以来就在b2g(firefoxOS)中运行。

我在一个工作室中使用idb进行应用程序但是无法在1.X版本的b2g中启动。 我已经在自己中找到了一些moz-idb(ish)变量,但没有发现任何东西(没有控制台或正确的debuger这一个很难:(),也深入搜索mdn但仍然没有例子或者b2g中worker中idb的文档。

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

来源: [1] https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API http://i.stack.imgur.com/fAUyb.png

2 个答案:

答案 0 :(得分:0)

将IndexedDB添加到Firefox 37中的工作人员:

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

Firefox OS 2.2基于同一版本。所有早期版本的Firefox OS都会丢失工人的IDB。

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

答案 1 :(得分:-1)

嗯,我完全同意正常调试工作人员非常困难。但是你可以使用一些技巧,我和Object.getOwnPropertyNames一起去了。这是在self上调用方法的结果:

  

[FunctionObjectevalEventTargetWorkerGlobalScopeDedicatedWorkerGlobalScopepostMessage,{{1} },onmessageFileReaderSyncPerformanceURLWorkerLocationWorkerNavigatorXMLHttpRequestEventTargetXMLHttpRequestUploadXMLHttpRequestBlobBroadcastChannelCacheCacheStorageDOMCursorDOMErrorError,{{ 1}},DOMExceptionDOMRequestDOMStringListEventFile FormData Headers IDBCursor IDBCursorWithValue IDBDatabase ,< strong> IDBFactory IDBIndex IDBKeyRange IDBObjectStore IDBRequest IDBOpenDBRequest IDBTransactionIDBVersionChangeEventImageBitmapImageDataMessageChannelMessageEventMessagePortNotificationPerformanceEntryPerformanceMarkPerformanceMeasurePromise,{ {1}},RequestResponseTextDecoderTextEncoderURLSearchParamsWebSocketWorker,{{1 }},ConsoleundefinedArrayBooleanJSONDateMathisNaNisFiniteparseIntparseFloatNaNInfinityNumberStringescape,{ {1}},unescapeunevaldecodeURIencodeURIdecodeURIComponentencodeURIComponentRegExp,{{1 }},InternalErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIErrorIteratorStopIterationArrayBufferInt8ArrayUint8ArrayInt16ArrayUint16ArrayInt32ArrayUint32Array,{ {1}},Float32ArrayFloat64ArrayUint8ClampedArrayProxyWeakMap]

如您所见,IDB相关对象(无法使用Map实例化)存在,但实例不存在。此外,缺少Set构造函数。 Firefox中的工作人员并不是第一件事。

我创建了bug report - 这是对该功能的测试:https://jsfiddle.net/fuj7koog/1/