html2canvas 在ios13.4.1系统中不生效
一、问题描述
最近在开发 html2canvas 的时候,突然发现,html2canvas在IOS13.4.1系统中调用失败。后马上去github上查看是否有同道中人遇到类似问题。
二、解决方案
1.首先将 package.json 中的 html2canvas 版本降低为【1.0.0-rc.4】
版本降低方法
首先移除 html2canvas 【npm uninstall html2canvas】
然后安装指定版本 【npm install --save html2canvas@1.0.0-rc.4】
"dependencies": {
"html2canvas": "^1.0.0-rc.4",
"less": "^3.11.1",
"less-loader": "^4.1.0",
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
2.如果上述无法解决你的问题 再进行第2步
/**
* 生成分享图片
*/
toHtmlCanvasShareFn() {
// 修改前代码
html2canvas(this.$refs.htmlCanvas, {
backgroundColor: null
}).then((canvas) => {
let dataURL = canvas.toDataURL("image/png");
this.shareImgUrl = dataURL;
console.log(this.dataURL)
});
// 修改后代码 主要将 html2canvas 修改为 (window.html2canvas || html2canvas)
(window.html2canvas || html2canvas)(this.$refs.htmlCanvas, {
backgroundColor: null
}).then((canvas) => {
let dataURL = canvas.toDataURL("image/png");
this.shareImgUrl = dataURL;
console.log(this.dataURL)
});
}
参考链接:https://github.com/niklasvh/html2canvas/issues/2229