这篇“html2canvas图片跨域问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“html2canvas图片跨域问题怎么解决”文章吧。
1.html写出来的样式
2.利用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个属性缺一不可