用html2canvas插件将dom转为canvas在iphone11(ios 13.4.1),微信环境里不执行也不报错,一直进不去.then()后面的逻辑,解决方案如下:
具体将页面转为img图片,实现微信长按保存图片的步骤可见笔记:
https://blog.csdn.net/cindy647/article/details/109123014
方案一
搜索到一个解决办法是降低html2canvas的版本,退回到4即可:
"html2canvas": "1.0.0-rc.4",
亲测可行,但不确定其他ios版本会不会有问题,小伙伴反馈有些版本还是不可行(可参见方案二)
方案二
是html2canvas插件的bug,这里有修改源码后的地址:
https://github.com/Liusq-Cindy/html2Canvas
可直接根据readme.md文件操作
具体细节如下:
- 将github地址上的html2canvas.js文件保存到你的项目中
- 在需要用到html2canvas插件的地方,直接引入这个js静态文件,不引用原本的modules插件了,如下vue文件中:
import html2canvas from '../../lib/html2canvas.js'
···
handleCanvas () {
(window.html2canvas || html2canvas)(this.$refs.extendCapture, {
allowTaint: true,
useCORS: true
}).then(canvas => {
dosomthing.....
})
}