1、首先自己下载引入html2canvaces和jquery(我的demo路径是自己本地的)
2、点击截屏按钮后,跳出层的其他部分是取消保存,点击截取获得的图片区域,表示保存
<!DOCTYPE >
<html>
<head>
<title>截图</title>
<meta name="" content="" charset="utf-8" />
<style type="text/css">
#box{
width: 400px;
height: 300px;
border: 4px solid yellowgreen;
color: deeppink;
text-align: center;
line-height: 300px;
font-size: 50px;
}
button{
width: 200px;
height: 50px;
font-size: 20px;
}
#imgContent{
position: absolute;
top: 0;
left: 0;
width: 100%;
text-align: center;
background: rgba(0,0,0,0.4);
display: none;
}
</style>
</head>
<body> <div id="box">
截屏效果测试
</div> <button id="btn1">点击截图</button>
<div id="imgContent"></div> <!--用来装图片-->
</body>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/html2canvas.js"></script>
<script type="text/javascript">
$("#btn1").on("click",function(){
$("#imgContent").show(); /*装图片的盒子显示出来*/
$("#imgContent").css({"height":$("body").outerHeight()});/*装图片的盒子高度出来*/
html2canvas( $("#box") ,{ //box为要截屏的dom元素
onrendered: function(canvas){
var url = canvas.toDataURL(); /*获得的图片路径,base64*/
$("#imgContent").html(' <a href=""><img src="'+ url +'" /></a>'); /*避免事件重复绑定*/
$("#imgContent").off("click","img"); $("#imgContent").on("click","img",function (event) {
/*点击下载功能*/
$("#imgContent").find("a").attr( 'href' ,url) ;
$("#imgContent").find("a").attr( 'download' , 'caibao.png' ) ;
});
}
});
});
/*隐藏弹出层*/
$("#imgContent").on("click",function(){
$(this).hide();
});
</script>
</html>