使用html2canvas 能够实现在用户浏览器端直接对整个或部分页面进行截屏保存为图片。这个html2canvas脚本将当页面渲染成一个Canvas图片,通过读取DOM并将不同的样式应用到这些元素上实现。
它不需要来自服务器任何渲染,不依赖第三方库,整张图片都是在客户端浏览器创建。当浏览器不支持Canvas时,将采用Flashcanvas或ExplorerCanvas技术代替实现。以下浏览器能够很好的支持该脚本:Firefox 3.5+, Google Chrome, Opera新的版本, IE9以上的浏览器。
如何使用
HTML
<div id="capture" style="padding: 10px; background: #f5da55">
<h4 style="color: #000; ">Hello world!</h4>
</div>
知识兔JavaScript
html2canvas(document.querySelector("#capture")).then(canvas => {
document.body.appendChild(canvas)
});
知识兔当然,需要引入html2canvas,可以直接到官网下载html2canvas.js,如果你使用node环境,可以用npm命令安装:
npm install --save html2canvas
知识兔然后导入:
import html2canvas from 'html2canvas'
知识兔选项配置
属性/方法 | 类型 | 默认值 | 描述 |
allowTaint | boolean | false | 是否允许跨域图片 |
background | string | #fff | canvas的背景颜色,如果没有设定默认透明 |
height | number | null | canvas高度设定 |
logging | boolean | false | 是否在console.log()中打印调试信息 |
proxy | string | undefined | 设置代理地址来加载跨域图片,如果留空,则不会加载图片 |
width | number | null | canvas宽度 |
height | number | null | canvas高度 |
useCORS | boolean | false | 是否尝试使用CORS从服务器加载图像 |
更多配置请查看项目官网:http://html2canvas.hertzen.com/documentation