简介

html2canvas的一些坑

1.带图片的页面生成图片跨域问题

1)同源的图片,ios和安卓用background-image都没问题

2)不同源的图片,ali-oss的图片(有允许跨域请求头)和cdn的图片(没有允许跨域请求头),在ios上用background-image不行,安卓没问题。

3)不同源的图片,ali-oss的图片(有允许跨域请求头)和cdn的图片(没有允许跨域请求头),用xhr请求必须有允许跨域请求头,不然请求失败

4)用img标签,ios和安卓都可以,但是不支持属性object-fit,用了html2canvas-objectfit-fix,支持了object-fit属性,但是不支持object-position(需求是动态返回的图片放在固定宽高的容器中不能有黑边,需要cover,但是竖着的图片想保留上部分,横着的图片想保留中间部分),在html2canvas-object-fix中object-position默认居中,无法更改

5)ios上canvas的drawimage()方法的第三个参数,即从纵向的什么位置开始裁剪,不能为负数,负数不生效