admin管理员组文章数量:1389982
I would like to know when html2canvas as fully rendered the capture and I can clean up changes I have made to the page.
If I reset style and position without a delay I get a half-resolution capture.
html2canvas(srcEl,
{
canvas: scaledCanvas,
width: originalWidth,
height: originalHeight
}).then(function (canvas) {
var a = document.createElement("a");
a.download = "chart.png";
a.href = canvas.toDataURL("image/png");
document.body.appendChild(a);
a.click();
/*
srcEl.style.position = '';
srcEl.style.left = '';
srcEl.style.top = '';
*/
});
}
I would like to know when html2canvas as fully rendered the capture and I can clean up changes I have made to the page.
If I reset style and position without a delay I get a half-resolution capture.
html2canvas(srcEl,
{
canvas: scaledCanvas,
width: originalWidth,
height: originalHeight
}).then(function (canvas) {
var a = document.createElement("a");
a.download = "chart.png";
a.href = canvas.toDataURL("image/png");
document.body.appendChild(a);
a.click();
/*
srcEl.style.position = '';
srcEl.style.left = '';
srcEl.style.top = '';
*/
});
}
Share Improve this question asked Feb 21, 2017 at 2:11 InterlatedInterlated 5,95610 gold badges53 silver badges87 bronze badges2 Answers
Reset to default 1In html2canvas 0.4 and below versions was used callback method onrendered. Old documentation after 0.5 it was rewritten to use Promises New documentation.
Old way
window.takeScreenShot = function() {
html2canvas(document.getElementById("target"), {
onrendered: function (canvas) {
document.body.appendChild(canvas);
}
});
}
<script src="https://cdnjs.cloudflare./ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<div id="target">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis eleifend elit. Donec lectus sem, scelerisque sit amet facilisis quis, gravida a lacus. Nunc at lorem egestas, gravida lorem quis, pulvinar ante. Quisque id tempus libero. Mauris hendrerit nunc risus, ac laoreet lectus gravida et. Nam euismod magna ac enim posuere sagittis. Fusce at egestas enim, eu hendrerit enim.
</div>
<button onclick="takeScreenShot()">to image</button>
New way
Use the onrendered
callback:
html2canvas(element, {
onrendered: function(canvas) {
// canvas is the final rendered <canvas> element
}
});
source: https://html2canvas.hertzen./documentation.html
本文标签: javascriptHow do I know when html2canvas is doneStack Overflow
版权声明:本文标题:javascript - How do I know when html2canvas is done? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744678915a2619278.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论