html2canvas
一.应用场景
最近的一个需求 在页面里提供意见截图 然后跳转到反馈页面
二.工作原理
html2canvas是通过获取到DOM 然后通过canvas将这个DOM下的东西画出来 转化成base64的方式来实现的 只要你div下的东西 都可以将其转化出来 如果只想要视口里的东西 则可以画body下的
三.应用过程
1.首先当然是安装依赖呀
npm i html2canvas -S
2.其次就是应用了
因为需要截屏视口跳转 前端没有 真正那种像QQ 微信那种手动截屏的工具
所以就用到了这个html2canvas
上代码:首先写一个事件
<div class="samediv"><el-tooltipclass="box-item"effect="dark"content="一键拍照"placement="left-start"><el-button plain @click="takephotos"><el-icon><Camera /></el-icon></el-button></el-tooltip>
</div>
其次 在事件里写上html2canvas
takephotos() {
// 获取你想截屏的大盒子 获取那个盒子的DOM 就截取那个盒子 我这里截取的是body 当前视口let save2 = document.body;html2canvas(save2).then((canvas) => {let url = canvas.toDataURL("image/png");let aLink = document.createElement("a");aLink.style.display = "none";aLink.href = url;// console.log(aLink.href);// router.push({name: 'menu', query: {'src': aLink.href}})// aLink.download = "截图.png";// document.body.appendChild(aLink);// aLink.click();// document.body.removeChild(aLink);window.localStorage.setItem("src", aLink.href);router.push({ name: "menu" });});
},
这里的aLink.href就是base64转码出来的内容 打印一下就是这样的
注:获取当前视口可以取body 也可以去vue里id为app的那个盒子 但是取这个盒子就截屏不到element的消息提示框 或者是dialog框
html2canvas相关推荐
- canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传
使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...
- html转换pdf 分页,(html2canvas jspdf)html转pdf带分页
1.下载npm包 npm i html2canvas jspdf -s 2.页面引入 import html2canvas from 'html2canvas'; import jsPDF from ...
- 移动端 html2canvas 踩坑记录
背景 最近在做的微信 html5 项目有个需求:页面包含 一张大的背景图片 + 一个用户的链接二维码图片 拼成一张图片,让用户长按保存的时候,可以把整个页面都保存起来,而不是只保存二维码. 思考 1. ...
- html2canvas如何在元素隐藏的情况下生成截图
html2canvas官网地址:http://html2canvas.hertzen.com/ github地址:https://github.com/niklasvh/html2canvas/ 从官 ...
- Javascript 将html转成pdf,下载,支持多页哦(html2canvas 和 jsPDF)
最近碰到个需求,需要把当前页面生成pdf,并下载.弄了几天,自己整理整理,记录下来,我觉得应该会有人需要 :) 项目源码地址:https://github.com/linwalker/... html ...
- 页面整体居中 左右出现白边html,html2canvas生成图片出现白边儿的解决方法
将页面上的内容生成图片,并显示到弹出层中: 不废话,解决方法主要是再js中,html2canvas 方法中,全部拷贝过去就能用 html // 需要生成图片的内容区域 生成图片 分享给朋友 长按图片保 ...
- html2canvas 截图div_浏览器端网页截图方案详解
简介 剖析流行的截图插件 html2canvas 的实现方案,探索其功能上的一些不足之处及不能正确截取的一些场景,比如不支持 CSS 的 box-shadow 截取情况等.探索一种新的实现方式,能够避 ...
- JS 使用html2canvas实现截图功能的问题记录和解决方案
JS 使用html2canvas实现截图功能的问题记录和解决方案 参考文章: (1)JS 使用html2canvas实现截图功能的问题记录和解决方案 (2)https://www.cnblogs.co ...
- html2canvas图片截图截不到图像的问题解决
html2canvas图片截图截不到图像的问题解决 参考文章: (1)html2canvas图片截图截不到图像的问题解决 (2)https://www.cnblogs.com/netcorner/p/ ...
- html2canvas在Vue项目踩坑-生成图片偏移不完整
背景 最近做一个Vue项目需求是用户长按保存图片,页面的数据是根据不同id动态生成的,页面渲染完生成内容图片让用户长按保存的时候,把整个页面都保存起来. 在项目遇到的坑是图片能生成,可是生成的图片总是 ...
最新文章
- 蚂蚁上市 P8 身价超亿,丢给我这几个牛逼的公众号
- 让机器听懂人话的自然语言处理技术究竟神奇在哪里?
- 【Linux】无法添加用户,报“useradd: cannot open /etc/passwd”问题解决过程记录
- 使用CEfSharp之旅(8)CEFSharp 使用代理 更换位置IP
- 23种设计模式之工厂方法模式
- oracle SQL执行过程
- 【Flink】Flink 写入 Clickhouse 大对象直接进入老年代 导致OOM
- 认识下这位全能型漏洞猎人
- 2-5 ImageList 控件
- Codeforces Round #168 (Div. 2)
- android4.0 底部菜单,Android自定义控件系列(四)—底部菜单(下)
- vsan 一台主机磁盘组全报错_分享VSAN磁盘无法识别的故障解决方法
- 怎样解决DEDE织梦友情链接字数限制与链接个数限制
- win10 Kafka环境搭建 + 编译C++(librdkafka) 封装库
- 搭建一个 软件授权码管理系统
- 百度快排(百度下拉)刷词原理是什么?
- 入局智能健身镜,小度破圈进行时
- WindowsLiveWriter安装步骤
- 2600评测_佳能专微的雄心,RF 28-70/2 L USM评测
- Web安全基础一漏洞产生原理漏洞探测(持续更新)
热门文章
- hibernate 一对多 取多方数据重复问题,FetchMode.JOIN、FetchMode.SELECT、FetchMode.SUBSELECT区别
- hdu 1969 pie
- php如何做服务器,如何用php实现一个web服务器
- SO :社区自治与钱包应用相结合的财富盛宴
- 【数学建模|Python】规划问题之线性规划
- 10月8日云栖精选夜读 | 如何一次检查大量网页是否更新?
- 中国成为微博用户世界第一大国
- gamma对冲 matlab,gamma与对冲损益之一
- matlab求解参数线性规划问题,实验三十用MATLAB求解线性规划问题
- google背后的分布式架构