将Crossorigin作为匿名之后,JavaScript绘制的画布消失了



我当前正在执行JavaScript功能,该功能通过在其内部进行一些绘图并从另一个网站加载图像来绘制HTML画布。

一切正常工作,直到我需要创建一个函数来下载它。起初,我遇到了一个安全错误,因为我没有设置我作为匿名的图像的横向素,所以我做到了。然后我能够下载图像。但是,它使我从另一个网站上加载的画布上的图像消失了。知道为什么?

这是我下载的功能:

  function download(){
   var canvas=document.getElementById("canvas0");
   $("#btn-download").on("click",(e)=>{
   var data = canvas.toDataURL("data:image/png;");
   var btn=document.getElementById("btn-download");
   btn.href=data;
   btn.download="Canvas.png";
 });
}

,这是我加载图像并将横向素设置为匿名的地方。

img=new Image();
img.onload = function() {
 context.drawImage(img, 285, 160);
};
img.src = 'somelink';
img.crossOrigin = "anonymous"

感谢您的帮助!

好吧,经过大量思考,我意识到,当网站给我图像时,访问控制 - 允许 - 允许孔不在标题中,所以不可能不可能将crossorigin avec匿名。如果您遇到了此问题,请检查标头是否具有访问权限 - 允许 - 孔。

最新更新