html5 - html2canvas生成的图片,checkbox和radio的选中项无法截图。

查看:237
本文介绍了html5 - html2canvas生成的图片,checkbox和radio的选中项无法截图。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

通过html2canvas生成一张图片,发现checkbox选中项并没有截图成功。

<!DOCTYPE html>
<html>
<head>
    <title>
        html2canvas
    </title>
</head>
<body id="myPage"  onload="createImage()">
    <div style="height: 100px;width: 100px;background-color: blue">
        我是div
        性别:
        <input type="checkbox" name="sex">男
        <input type="checkbox" name="sex">女
    </div>
</body>
<script type="text/javascript" src="html2canvas.js"></script>
<script type="text/javascript">
    function createImage(){
        html2canvas(document.getElementById('myPage'),{
            allowTaint:true,
            height: 500
        }).then(function(canvas) {
           console.log(canvas);
           var aTag = document.createElement("a");
           aTag.innerHTML = "This is a test";
           aTag.setAttribute("style", "position:absolute; top:50%; z-index:999");
           aTag.setAttribute("href", canvas.toDataURL());
           aTag.setAttribute("download", "myPic.png");
           document.body.appendChild(aTag);
        });
    }
</script>
</html>

页面以及生产图片:

解决方案

可以用的,因为你已进入页面就生成图片了,后面的点击就没效果了,可以这么着。

<!DOCTYPE html>
<html>
<head>
<title>
    html2canvas
</title>
</head>
<body id="myPage">
<div style="height: 100px;width: 100px;background-color: blue">
    我是div
    性别:
    <input type="checkbox" onchange="createImage()" name="sex">男
    <input type="checkbox" onchange="createImage()" name="sex">女
</div>

</body>
<script type="text/javascript" src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
<script type="text/javascript">
var aTag = document.createElement("a");
aTag.innerHTML = "This is a test";
aTag.setAttribute("style", "position:absolute; top:50%; z-index:999");
document.body.appendChild(aTag);
function createImage(){
    html2canvas(document.getElementById('myPage'),{
        allowTaint:true,
        height: 500
    }).then(function(canvas) {
       console.log(canvas);
       aTag.setAttribute("href", canvas.toDataURL());
       aTag.setAttribute("download", "myPic.png");   
    });
}
</script>
</html>

这篇关于html5 - html2canvas生成的图片,checkbox和radio的选中项无法截图。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆