html2canvas使用Promise执行后续操作,需确保Promise在全局作用域没有被覆盖
如需支持旧版浏览器,可提前加载babel polyfill(垫片)
参考
载入
载入本地html2canvas代码
1 | <script src="html2canvas.min.js"></script> |
调用
html2canvas(element).then(function(canv) {do something})
html2canvas(element, set).then(function(canv) {do something})
- element 需生成截图的js DOM对象
- set 截图配置选项,可选
- canv 是一个canvas对象
1 | html2canvas(document.body).then(function(canvas) { |
使用范例
获取图片
1 | html2canvas(document.body).then(function(c) { |
下载图片
1 | html2canvas(document.body).then(function(c) { |
不支持的属性
html2canvas的实现原理是获取元素后,在canvas中重新绘制,因此有一定的局限性
暂时不支持部分属性,例如
- box-shadow
- filter
- word-wrap
- word-break
bug
不显示canvas
有时html2canvas无法获取画布(canvas)绘制的图形,
可暂时通过设置removeContainer: false解决该问题
1 | html2canvas(document.body, { |
注 版本v1.0.0-alpha.5已修复该bug
详见html2canvas issues