如果页面中存在微信开放标签,会导致html2canvas无法回调。可以试试在调用前,隐藏掉开放标签。 我们就遇到了这个问题,开始怀疑是包版本的问题,换了几个版本,依然有问题。就尝试干掉页面所有其他dom,只保留最简单的部分,发现html2canvas可以回调,说明,包是没问题的,肯定是页面其他组件影响了。然后在最简单版本的基础上,一步一步把其他dom加回来,通过二分法,隐藏一半dom,展示一半dom,逐步定位,最终发现公众号的开放标签( 我这里用了 wx-open-subscribe )(https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html)会影响html2canvas导致生成图片无法回调。 虽然生产图片的dom中并没有这个开放标签,但是html2canvas依然被影响,无法回调。 于是在调用html2canvas前,通过控制v-if,干掉wx-open-subscribe这个订阅标签,html2canvas就能回调。 这,的确很不可思议!但事实就是如此。
在ios 13.4中,微信浏览器使用html2canvas无任何反馈在ios 13.4系统微信浏览器中, npm html2canvas包有问题 html2canvas(shareContent as HTMLElement, opts).then(canvas => { // 无反馈 }).catch(_ => { // 无反馈 }) 在ios 非13.4系统微信浏览器中 html2canvas(shareContent as HTMLElement, opts).then(canvas => { // 有反馈 }).catch(_ => { // 有反馈 }) 因为有部分用户更新了ios 13.4, 我们定位到是这个问题。 希望ios 13.4微信浏览器中html2canvas正常运行
2023-01-11