Chr*_*dau 5 javascript html5 drag-and-drop web-worker
我想使用同步的JS FileSystem API,因此,这个代码必须放到webworker上.webworker的传入数据来自dragndrop事件(dataTransfer.items),以便能够使用chromes最新的capabilitiy来上传文件夹.遗憾的是,每次尝试都被Chrome取消,并显示"Uncaught Error:DATA_CLONE_ERR:DOM Exception 25".
基本上,它是这样的:
var files=e.dataTransfer.items; [copying the DataTransferItemList]
var worker=new Worker(...)
worker.postMessage(files);
Run Code Online (Sandbox Code Playgroud)
这不起作用.任何想法,为什么?可以在这里找到类似的(但不是100%相同的)示例:http://www.html5rocks.com/en/tutorials/file/filesystem-sync/ - 这似乎有效.它不是DataTransferItemList,它是一个FileList - 不能将这种类型的List序列化吗?
谢谢,克里斯托夫
您应该使用event.dataTransfer.files来获取FileList. 然后你可以直接将其发布给工作人员:
var files=e.dataTransfer.files || e.target.files; // Cross browser FileList
var worker=new Worker(...);
worker.postMessage({files: files});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |