Bir web çalışanına geçirilen ve ardından geri dönen imageData ile çalışan kod çalıştırdığımda, Firefox harika çalışıyor ancak Chrome "Hata Oluştu: DATA_CLONE_ERR: DOM Özel Durum 25"ImageData ile çalışan resim sunucusu Firefox ile çalışıyor ancak Chrome ile çalışma değil
Google'da arama yapmak, daha eski Chrome sürümlerinin çalışmakta olduğunu gösterir.
Biraz daha kontrol ettim ve göndermeden önce imagedata üzerinde JSON.stringify ve JSON.parse komutunu çalıştırmam gerekiyormuş gibi görünüyordu ama sonra her yerde çalışmayı durdurdu. FF 9 çalışan kod şudur:
image.js:
var myImageData = context.getImageData(0, 0, canvas.width, canvas.height).data;
var worker = new Worker("http://direct.link/helpers/worker.js");
worker.postMessage(myImageData);
worker.onmessage = function(event) {
var value = event.data;
switch (value.cmd){
case 'last':
//doing stuff
break;
default:
//doing stuff
});
}
worker.js:
addEventListener('message', function(event) {
var myImageData = event.data;
// doing stuff.
sendItBack(colors);
});
};
function sendItBack(colors){
each(colors, function(index, value){
self.postMessage(value);
});
self.postMessage({'cmd': 'last'});
}
ileri geri bu imageData göndermek için kullanmanız gereken hangi yöntemi
uygulama ve web çalışanı?
Teşekkürler!
DÜZENLEME:
Sonra Krom çalışmaya başlar düzenli diziye kopyalamak olursa ...
var newImageData = [];
for (var i=0,len=myImageData.length;i<len;++i) newImageData[i] = myImageData[i];
Yani krom bir işçiye bir CanvasPixelArray geçemez ama normal bir Diziyi geçebilir. Ama firefox yapabilir.
http: // stackoverflow.com/questions/7506635/yakalanmamış hata-veri-klon-err-dom-istisnası-25-atılmış-web çalışanı –
oops. Teşekkürler. Bunu deneyelim :) – garg
Hala bu konuda net değilim. Geçirdiğim veriler (context.getImageData (0, 0, canvas.width, canvas.height) .data) büyük bir dizidir ve herhangi bir döngüsel başvuru hatası içermemelidir. Eğer postMessage tarafından dahili olarak JSON'a dönüştürülüyorsa, o zaman dışarıdaki hatalardan geçmelidir. Ve bildiğim kadarıyla, bir DOM öğesini yönlendirmiyorum. – garg