html2canvas截图空白问题的解决


Posted in HTML / CSS onMarch 24, 2020

最近在项目中遇到一个需求,需要提供网页截图的功能。百度下发现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);
});

遇到的问题

按照这个方式使用,页面没有滚动条还行,有滚动条时出现大片空白。

错误截图如下:

html2canvas截图空白问题的解决

解决方案

仔细看了一下configuration.md和网友的分析,最终解决。代码片段如下

html2canvas截图空白问题的解决

上一张正确的截图如下:

html2canvas截图空白问题的解决

代码中的配置项说明

1、截图产生空白是因为容器高度设置的问题,设置windowHeight的高度等于页面包含滚动条的高度即可获取滚动条中的内容。这一条就可以解决空白的问题。
2、设置width、height属性的原因是,我们在页面中截图显示的区域宽度和高度是固定的,就是当前屏幕的可见区域。
3、设置x、y坐标的原因是由于页面在有滚动条的时候,需要指定截图的起始位置。本项目中x轴方向不存在滚动条,所以设置为零;y方向有滚动条,所以需要获取一下当前方向的滚动坐标。
4、一般网页中会有图片,图片中有链接地址时,设置useCORS属性可保证图片的加载。

到此这篇关于html2canvas截图空白问题的解决的文章就介绍到这了,更多相关html2canvas截图空白内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
CSS3实现精美横向滚动菜单按钮
Apr 14 HTML / CSS
浅谈css3新单位vw、vh、vmin、vmax的使用详解
Dec 01 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
Jan 15 HTML / CSS
css3实现圆锥渐变conic-gradient效果
Feb 12 HTML / CSS
HTML5网页音乐播放器的示例代码
Nov 09 HTML / CSS
html5本地存储_动力节点Java学院整理
Jul 12 HTML / CSS
HTML5印章绘制电子签章图片(中文英文椭圆章、中文英文椭圆印章)
Jun 03 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
Mar 27 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
Dec 30 HTML / CSS
localstorage和sessionstorage使用记录(推荐)
May 23 HTML / CSS
html5自定义video标签的海报与播放按钮功能
Dec 04 HTML / CSS
Unicode中的CJK(中日韩统一表意文字)字符小结
Dec 06 HTML / CSS
html5视频常用API接口的实战示例
Mar 20 #HTML / CSS
Html5页面上如何禁止手机虚拟键盘弹出
Mar 19 #HTML / CSS
Html5 Canvas实现图片标记、缩放、移动和保存历史状态功能 (附转换公式)
Mar 18 #HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
Mar 17 #HTML / CSS
canvas实现手机的手势解锁的步骤详细
Mar 16 #HTML / CSS
HTML利用九宫格原理进行网页布局
Mar 13 #HTML / CSS
html5默认气泡修改的代码详解
Mar 13 #HTML / CSS
You might like
PHP 开源AJAX框架14种
2009/08/24 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
PHP链表操作简单示例
2016/10/15 PHP
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
JavaScript 变量作用域分析
2011/07/04 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
bootstrap表单示例代码分享
2017/05/18 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
浅谈webpack构建工具配置和常用插件总结
2020/05/11 Javascript
VUE使用axios调用后台API接口的方法
2020/08/03 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
给ubuntu18安装python3.7的详细教程
2020/06/08 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
2015出纳试用期工作总结
2014/12/12 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
Python各协议下socket黏包问题原理
2022/04/12 Python
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏