3

転送可能なオブジェクトを使用しようとしていますが、webkitPostMessage を呼び出すときに「型エラー」が発生します。

var message = new Object();
message.type = "mask";
message.mask = mmask;
message.width = width;
message.height = height;
message.useTransferable = transferableObjects;

webWorker[curWorker].webkitPostMessage(message, [message]);

ワーカースレッドでも同じエラーが発生します。

何か不足していますか?さらに情報が必要ですか?

4

1 に答える 1

4

仕様から:

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#transferable-objects

The following Transferable types exist:

- MessagePort
- ArrayBuffer [TYPEDARRAY]
- CanvasProxy

そのため、Web ワーカーにデータを転送するためのオプションは、現在かなり制限されています。しかし、チェックしてください:

http://updates.html5rocks.com/2012/06/How-to-convert-ArrayBuffer-to-and-from-String

したがって、オブジェクトを JSON 文字列に変換window.JSON.parse()し、リンクのメソッドを使用して配列バッファーに変更し、その配列バッファーをワーカーに送信できます。

于 2013-01-25T20:08:56.860 に答える