实现功能:点击按钮,实现截取当前页的功能。使用html2canvas插件机可以实现该功能。
1、在html中引入html2canvas插件
<script type="text/javascript" src="http://html2canvas.hertzen.com/build/html2canvas.js"></script>
2、部分html如下:
<button>截取当前页</button>
3、js如下:(先引入jquery)
$('button').click(function(event){
event.preventDefault();
// 生成img的url
html2canvas($('body'), {
allowTaint: true,
taintTest: false,
background:'#990000' ,
onrendered: function(canvas) {
//生成base64图片数据
dataUrl = canvas.toDataURL("image/jpg");
var image = document.createElement("img");
//将img节点添加到body里面
image.src = dataUrl;
$('body').append(image);
}
});
对html2canvas()函数里面的参数的解释:
第一个参数是要截图的DOM对象,第二个参数是渲染完成后回调的canvas对象
name type default description
allowTaint boolean false 是否支持跨域图片
background string #fff 画布的背景色,没有设置则采用DOM节点的背景色,设置为undefined为透明
height number null 画布的高度,没有设置则默认是window的高度
width number null 同上
letterRendering boolean false 设置字符间距
logging boolean false 在console是否设置log()
proxy string undefined url用于下载跨域图片,,如果没有设置,则不能下载跨域图片
taintTest boolean true
timeout number 0 下载图片超时的时间,单位为ms
useCORS boolean false 是否使用跨域图片