html2canvas截图空白问题的解决
程序员文章站
2022-09-11 09:06:35
这篇文章主要介绍了html2canvas截图空白问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 20-03-24...
最近在项目中遇到一个需求,需要提供网页截图的功能。百度下发现html2canvas很好用。那就试试吧。
资源下载地址
插件下载地址:
使用方式
项目使用的react组件开发方式。参照官方的说明文档,按照以下步骤进行:
1、使用以下命令安装
npm install html2canvas --save
2、在文件中引入html2canvas
import html2canvas from 'html2canvas';
3、文件中的使用
html2canvas(document.body).then(function(canvas) { document.body.appendchild(canvas); });
遇到的问题
按照这个方式使用,页面没有滚动条还行,有滚动条时出现大片空白。
错误截图如下:
解决方案
仔细看了一下和网友的分析,最终解决。代码片段如下
上一张正确的截图如下:
代码中的配置项说明
1、截图产生空白是因为容器高度设置的问题,设置windowheight的高度等于页面包含滚动条的高度即可获取滚动条中的内容。这一条就可以解决空白的问题。
2、设置width、height属性的原因是,我们在页面中截图显示的区域宽度和高度是固定的,就是当前屏幕的可见区域。
3、设置x、y坐标的原因是由于页面在有滚动条的时候,需要指定截图的起始位置。本项目中x轴方向不存在滚动条,所以设置为零;y方向有滚动条,所以需要获取一下当前方向的滚动坐标。
4、一般网页中会有图片,图片中有链接地址时,设置usecors属性可保证图片的加载。
到此这篇关于html2canvas截图空白问题的解决的文章就介绍到这了,更多相关html2canvas截图空白内容请搜索以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!
推荐阅读
-
Mysql5.7中使用group concat函数数据被截断的问题完美解决方法
-
Windows 64 位 mysql 5.7以上版本包解压中没有data目录和my-default.ini及服务无法启动的快速解决办法(问题小结)
-
个人所得税app常见的五大问题及解决方法介绍
-
解决Python plt.savefig 保存图片时一片空白的问题
-
使用 Eclipse 给 APK 签名遇到的问题及解决方法
-
解决WinXP系统Internet Explorerr脚本错误问题的方法
-
解决vue props 拿不到值的问题
-
解决JavaEE开发中字符编码出现乱码的问题
-
快速解决vue动态绑定多个class的官方实例语法无效的问题
-
解决Vue2.0 watch对象属性变化监听不到的问题