Сообщение от pax
Удалось поймать ошибку
function downloadImage(url, callback){ console.log("downloading image: "+ url); var image = new Image(); image.crossOrigin = "Anonymous"; image.onload = function() { var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); canvas.width = image.naturalWidth; canvas.height = image.naturalHeight; ctx.drawImage(image, 0, 0); try{ var pngBlob = canvas.toDataURL(); } catch(e){ callback(""); } callback(pngBlob); }; if(image.addEventListener) { image.addEventListener('error', function (e) { e.preventDefault(); // Prevent error from getting thrown callback(""); }); } else { // Old IE uses .attachEvent instead image.attachEvent('onerror', function (e) { callback(""); return false; // Prevent propagation }); } image.src = url; }
|
Надеюсь поддержка евентов на картинке норм, т.к. Image объект всегда отличался в броузерах.