Comment réparer getImageData() erreur de La toile a été entachée par la croix-données sur l'origine?

Mon code fonctionne très bien sur mon localhost, mais il ne fonctionne pas sur le site.

J'ai eu cette erreur à partir de la console, pour cette ligne .getImageData(x,y,1,1).data:

Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': The canvas has been tainted by cross-origin data. 

partie de mon code:

jQuery.Event.prototype.rgb=function(){
        var x =  this.offsetX || (this.pageX - $(this.target).offset().left),y =  this.offsetY || (this.pageY - $(this.target).offset().top);
        if (this.target.nodeName!=="CANVAS")return null;
        return this.target.getContext('2d').getImageData(x,y,1,1).data;
    }

Remarque: mon url de l'image (src) est un sous-domaine url

  • J'obtiens cette erreur même lorsque l'img.src est une url relative: "img/foo.png" - alors, qu'est-ce que la croix-de l'origine à ce sujet?