html2canvas 图片跨域解决发难
时间: 2023-10-11 11:07:42 浏览: 176
详解canvas绘图时遇到的跨域问题
在使用html2canvas时,如果要截取的页面中包含跨域图片,可能会出现无法截取的问题。这是由于浏览器的同源策略限制所致。为了解决这个问题,可以尝试以下两种方法:
1. 使用服务器代理
将跨域图片的请求发送到自己的服务器,然后在服务器上进行图片截取操作,最后将截取后的图片返回到前端。这种方式需要在服务器端写一个代理接口,比较麻烦。
2. 设置图片跨域属性
通过设置图片的crossOrigin属性来解决跨域问题。需要注意的是,只有当服务器端设置了Access-Control-Allow-Origin头部,才能成功设置该属性。
可以将图片的crossOrigin属性设置为“Anonymous”,例如:
```javascript
var img = new Image();
img.crossOrigin = "Anonymous";
img.src = "http://example.com/image.png";
```
设置之后,再使用html2canvas进行截图操作即可。
阅读全文