html判断canvas已经绘制过了(html2canvas截图空白问题的解决)
类别:Web前端 浏览量:493
时间:2021-10-13 00:48:28 html判断canvas已经绘制过了
html2canvas截图空白问题的解决最近在项目中遇到一个需求,需要提供网页截图的功能。百度下发现html2canvas很好用。那就试试吧。
资源下载地址
插件下载地址:html2canvas下载地址
使用方式
项目使用的react组件开发方式。参照官方的说明文档getting-started.md,按照以下步骤进行:
1、使用以下命令安装
npm install html2canvas --save
2、在文件中引入html2canvas
import html2canvas from 'html2canvas';
3、文件中的使用
html2canvas(document.body).then(function(canvas) { document.body.appendChild(canvas); });
遇到的问题
按照这个方式使用,页面没有滚动条还行,有滚动条时出现大片空白。
错误截图如下:
解决方案
仔细看了一下configuration.md和网友的分析,最终解决。代码片段如下
上一张正确的截图如下:
代码中的配置项说明
1、截图产生空白是因为容器高度设置的问题,设置windowHeight的高度等于页面包含滚动条的高度即可获取滚动条中的内容。这一条就可以解决空白的问题。
2、设置width、height属性的原因是,我们在页面中截图显示的区域宽度和高度是固定的,就是当前屏幕的可见区域。
3、设置x、y坐标的原因是由于页面在有滚动条的时候,需要指定截图的起始位置。本项目中x轴方向不存在滚动条,所以设置为零;y方向有滚动条,所以需要获取一下当前方向的滚动坐标。
4、一般网页中会有图片,图片中有链接地址时,设置useCORS属性可保证图片的加载。
到此这篇关于html2canvas截图空白问题的解决的文章就介绍到这了,更多相关html2canvas截图空白内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
您可能感兴趣
- htmlcanvas的使用(html2canvas生成清晰的图片实现打印的示例代码)
- canvas图片显示报错(html2canvas生成的图片偏移不完整的解决方法)
- html判断canvas已经绘制过了(html2canvas截图空白问题的解决)
- 张勇 阿里新任掌门人(阿里新任掌门人)
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
- 15帅气男士发型,清爽时尚很有型,喜欢就试试(清爽时尚很有型)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
热门推荐
- 如何查找MySQL中查询慢的SQL语句
- docker配置redis集群(基于Docker搭建Redis主从集群的实现)
- html5循环及条件指令(html5实现滑块功能之type="range"属性)
- ftp上传文件权限设置(FTP二进制上传是什么意思?设置并使用二进制BINARY上传?)
- php符串使用教程(php使用scandir函数扫描指定目录下所有文件示例)
- mysql分库分表视图(MySQL分库分表与分区的入门指南)
- 在VS中按F12转到DLL文件定义的源代码
- js获取子表单所有数据(JavaScript实现异步提交表单数据)
- mysql意外查不到数据(MySQL 丢失数据的原因及解决)
- react源码教程(详解React 代码共享最佳实践方式)