使用html2canvas保存每x分钟

时间:2018-03-06 22:07:50

标签: javascript php jquery html2canvas

我想从像游戏徽章这样的div制作徽章,我通过点击按钮将html2canvas保存到我的服务器,我怎么想要它所以每次我都不需要按下按钮想要更新的图像。

我使用的脚本是

function capture() {
    $('#box').html2canvas({
        onrendered: function (canvas) {
            $('#img_val').val(canvas.toDataURL("image/png"));
            document.getElementById("myForm").submit();
        }
    });
}

保存页面为:

    <?php
//Get the base-64 string from data
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1);
//Decode the string
$unencodedData=base64_decode($filteredData);
//Save the image
file_put_contents('img.png', $unencodedData);
?>
<h2>Save the image and show to user</h2>
<table>
    <tr>
        <td>
            <a href="img.png" target="blank">
                Click Here to See The Image Saved to Server</a>
        </td>
        <td align="right">
            <a href="index.php">
                Click Here to Go Back</a>
        </td>
    </tr>
    <tr>
        <td colspan="2">
            <br />
            <br />
            <span>
                Here is Client-sided image:
            </span>
            <br />
<?php
//Show the image
echo '<img src="'.$_POST['img_val'].'" />';
?>

那么无论如何都要将div保存到每x分钟一次?

1 个答案:

答案 0 :(得分:0)

您可以将捕获函数传递给setInterval函数,该函数接收以毫秒为单位的间隔作为第二个参数。

function capture() {
  $('#box').html2canvas({
    onrendered: function (canvas) {
        $('#img_val').val(canvas.toDataURL("image/png"));
        document.getElementById("myForm").submit();
    }
  });
}

setInterval(capture, 2000);

这将每2秒调用一次捕获功能。