html2canvas图片跨域问题怎么解决

本文讲解"html2canvas图片跨域问题如何解决",希望能够解决相关问题。

1.html写出来的样式

html2canvas图片跨域问题怎么解决

2.利用html2canvas插件下载下来的图片

html2canvas图片跨域问题怎么解决

出现的问题:不显示 后端返回给我的图片

html2canvas图片跨域问题,是由于canvas自身的设计,加载的是本地的资源,对跨域资源默认是不加载的。

3.解决方法

 <img :src="sharedata.data.imageUrl" crossorigin="anonymous">
let downimg= ()=>{
  setTimeout(()=>{
    proxy.$nextTick(()=>{
      html2canvas(document.querySelector('#img'),{
        useCORS: true
      }).then(canvas => {
        var url = canvas.toDataURL()     //把canvas转成base64
        document.querySelector('#downimg').href = url
        document.querySelector('#downimg').download = "我的持仓报告.png"
        document.querySelector('#downimg').click()
      })
    })
  },2000)
}

重点:

1. img标签的crossorigin="anonymous"

2. useCORS: true

以上2个属性缺一不可

关于 "html2canvas图片跨域问题如何解决" 就介绍到此。希望多多支持编程宝库

本文讲解"html div指的是什么",希望能够解决相关问题。在html中,div是一个块级元素,可定义文档中的分区或节,可以把文档分割为独立的、不同的部分,它可以用作严格的组织工具,并且不使用任何格式与其关联。 ...