Chcę używać synchronicznego JS FileSystem API, dlatego ten kod musi zostać umieszczony w webworker. przychodzące dane dla webworkera są pobierane z zdarzenia przeciągania (dataTransfer.items) w celu umożliwienia przesyłu folderów z najnowszymi możliwościami chromowania. Niestety, każda próba jest anulowana przez chrome z "Uncaught Error: DATA_CLONE_ERR: DOM Exception 25".JS: Przenieś DataTransferItemList do WebWorker
zasadzie jej tak:
var files=e.dataTransfer.items; [copying the DataTransferItemList]
var worker=new Worker(...)
worker.postMessage(files);
to nie działa. jakikolwiek pomysł, dlaczego? podobny (ale nie w 100% identyczny) przykład można znaleźć tutaj: http://www.html5rocks.com/en/tutorials/file/filesystem-sync/ - to wydaje się działać. nie jest to DataTransferItemList, jest tam FileList - czy ten typ Listy nie może być serializowany?
Dzięki Christoph
Zobacz http://stackoverflow.com/questions/7506635/uncaught-error-data-clone-err-dom-exception-25-thrown-by-web -pracownik – pd40
To interesujące pytanie. Ale na początek nie kopiujesz obiektu, przypisując go do innej zmiennej. Ta reguła dotyczy wszystkich języków korzystających z funkcji czyszczenia pamięci. I możesz wysłać tylko ciąg znaków lub tablicę bajtów do pracownika sieci - ale mam nadzieję, że w przyszłości pojawi się rozwiązanie. –
możliwy duplikat [Czy api systemu synchronicznego może być używany w rozszerzeniu chrome] (http://stackoverflow.com/questions/10493337/can-the-synchronous-file-system-api-be-used-in-a -chrome-extension) –