जब मैं कोड है कि साथ imageData एक वेब कार्यकर्ता को पारित किया जा रहा सौदों और फिर वापस, तो फ़ायरफ़ॉक्स अच्छा काम करता है, लेकिन क्रोम देता चलाने "Uncaught त्रुटि: DATA_CLONE_ERR: डोम अपवाद 25"वेब कार्यकर्ता imageData Firefox के साथ काम कर रहा है, लेकिन Chrome नहीं है के साथ काम कर
खोज Google ने सुझाव दिया है कि क्रोम के पुराने संस्करण काम करते थे?
मैंने कुछ और जांच की और ऐसा लगता है कि मुझे JSON.stringify और JSON.parse को भेजने से पहले इमेजेडाटा पर चलाने की आवश्यकता है, लेकिन फिर यह हर जगह काम करना बंद कर देता है। कोड है कि एफएफ 9 में काम करता है:
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'});
}
क्या विधि मैं क्रम में उपयोग करना चाहिए इस imagedata आगे पीछे भेजने के लिए ऐप और वेब वर्कर?
धन्यवाद!
संपादित करें:
अगर मैं एक नियमित सरणी तो क्रोम काम करना शुरू करने के लिए नकल ...
var newImageData = [];
for (var i=0,len=myImageData.length;i<len;++i) newImageData[i] = myImageData[i];
तो क्रोम एक कार्यकर्ता के लिए एक CanvasPixelArray पारित नहीं हो सकता, लेकिन यह एक नियमित सरणी पारित कर सकते हैं। लेकिन फ़ायरफ़ॉक्स कर सकते हैं।
http: // stackoverflow।कॉम/प्रश्न/7506635/uncaught-error-data-clone-err-dom-upgrade-25-thrown-by-web-worker –
ओह। धन्यवाद। मुझे कोशिश करें :) – garg
मैं अभी भी इस बारे में स्पष्ट नहीं हूं। जो डेटा मैं पास कर रहा हूं (context.getImageData (0, 0, canvas.width, canvas.height) .डेटा) एक बड़ी सरणी है और इसमें कोई परिपत्र संदर्भ त्रुटियां नहीं होनी चाहिए। यदि इसे पोस्ट मैसेज द्वारा आंतरिक रूप से JSON में परिवर्तित किया जा रहा है तो इसे केवल त्रुटियों से बाहर जाना चाहिए। और जहां तक मुझे पता है, मैं एक डोम तत्व अग्रेषित नहीं कर रहा हूं। – garg