Je souhaite utiliser l'API JS FileSystem synchrone, par conséquent, ce code doit être envoyé à un webworker. les données entrantes pour le webworker sont prises à partir d'un événement dragndrop (dataTransfer.items) afin de pouvoir utiliser les capacités les plus récentes de chromes pour télécharger des dossiers. malheureusement, chaque essai est annulé par le chrome avec un "Erreur Uncaught: DATA_CLONE_ERR: DOM Exception 25".JS: Transférer DataTransferItemList vers WebWorker
fondamentalement, son comme celui-ci:
var files=e.dataTransfer.items; [copying the DataTransferItemList]
var worker=new Worker(...)
worker.postMessage(files);
cela ne fonctionne pas. une idée, pourquoi? un exemple similaire (mais pas 100% identique) peut être trouvé ici: http://www.html5rocks.com/en/tutorials/file/filesystem-sync/ - cela semble fonctionner. ce n'est pas une DataTransferItemList, c'est une FileList - ce type de List peut-il être sérialisé?
Merci, Christoph
Voir http://stackoverflow.com/questions/7506635/uncaught-error-data-clone-err-dom-exception-25-thrown-by-web -worker – pd40
Ceci est une question intéressante. Mais pour le starter, vous ne copiez pas d'objet en l'assignant à une variable différente. Cette règle s'applique à toutes les langues utilisant le garbage collector. Et vous ne pouvez publier qu'une chaîne ou un tableau d'octets sur le Web worker - mais j'espère qu'il y aura une solution à l'avenir. –
duplication possible de [Peut le système de fichiers synchrone api être utilisé dans une extension de chrome] (http://stackoverflow.com/questions/10493337/can-the-synchronous-file-system-api-be-used-in-a -chrome-extension) –