用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文件操作
具体细节如下:

  1. 将github地址上的html2canvas.js文件保存到你的项目中
  2. 在需要用到html2canvas插件的地方,直接引入这个js静态文件,不引用原本的modules插件了,如下vue文件中:
import html2canvas from '../../lib/html2canvas.js'
···
handleCanvas () {
  (window.html2canvas || html2canvas)(this.$refs.extendCapture, {
    allowTaint: true,
    useCORS: true 
  }).then(canvas => {
   dosomthing.....
  })
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐