私は同期するJS FileSystem APIを使いたいので、このコードをWebワーカーに渡す必要があります。 Webworkerの入力データは、フォルダをアップロードするために最新の機能を使用できるように、dragndropイベント(dataTransfer.items)から取得されます。 悲しいことに、すべての試行は "キャッチされていないエラー:DATA_CLONE_ERR:DOM Exception 25"のクロムによってキャンセルされます。JS:DataTransferItemListをWebWorkerに転送
基本的には、その次のように:
var files=e.dataTransfer.items; [copying the DataTransferItemList]
var worker=new Worker(...)
worker.postMessage(files);
、これは動作しません。任意のアイデア、なぜですか? 同様の(ただし100%同一ではない)例がここにあります:http://www.html5rocks.com/en/tutorials/file/filesystem-sync/ - これはうまくいくようです。それはDataTransferItemListではなく、このタイプのListが直列化されないFileListですか?
おかげで、 クリストフ
はhttp://stackoverflow.com/questions/7506635/uncaught-error-data-clone-err-dom-exception-25-thrown-by-webを参照してください。 -worker – pd40
これは興味深い質問です。しかし、初心者の場合は、オブジェクトを別の変数に代入してコピーしません。このルールは、ガベージコレクタを使用するすべての言語に適用されます。そして、あなたは文字列またはバイト配列をWebワーカーに投稿することしかできませんが、将来は解決策があることを願っています。 –
[クロム拡張で同期ファイルシステムapiを使用できるかどうか]の複製が可能です。(http://stackoverflow.com/questions/10493337/can-the-synchronous-file-system-api-be-used-in-a -chrome-extension) –