SecurityError грузим картинки с других сайтов
У меня достаточно большой код, покажу самое главное.
img.addEventListener('click', function(e){ // chrome if(e.offsetX) {x=e.offsetX;y=e.offsetY;} // firefox else if(e.layerX) {x=e.layerX;y=e.layerY;} useCanvas(canvas,img,function(){ // get image data var p = canvas.getContext('2d').getImageData(x, y, 1, 1).data; if (valID){val(valID, rgbToHex(p[0],p[1],p[2]));} }); },false); function useCanvas(el,image,callback){ el.width = image.width; el.height = image.height; el.getContext('2d').drawImage(image, 0, 0, image.width, image.height); return callback(); } С картинками которые на сервере скрипт работает хорошо, но когда я пытаюсь загрузить картинку с другого сайта появляется ошибка SecurityError: The operation is insecure. В этой строчке: var p = canvas.getContext('2d').getImageData(x, y, 1, 1).data; Заменил useCanvas на вот такую функцию: function useCanvas(el,image,callback){ image.crossOrigin = "anonymous"; // This enables CORS image.onload = function (event) { el.width = image.width; el.height = image.height; el.getContext('2d').drawImage(image, 0, 0, image.width, image.height); return callback(); } }; Теперь ошибок нет, но как только я нажимаю на эту фото, оно пропадает. Что я делаю не так? |
dima85,
значит "другой сайт" не разрешает этого |
Как-то можно обойти это?
|
dima85,
проксировать каждую картинку, либо через свой сервер в общих чертах так, либо через чужой оказывающий такие услуги. |
Часовой пояс GMT +3, время: 07:54. |