我在.aspx中有一段代码,它应该打印出我的web函数的选定部分。
<div id="test" class="body-content animated fadeIn">
<a href="javascript:getScreenshot()"> Get Sreenshot </a>
<script>
function getScreenshot() {
html2canvas(divprint, {
onrendered: function(canvas) {
var canvasImg = canvas.toDataURL("image/jpg");
$('#test').html('<img src="'+canvasImg+'" alt="">');
}
});
var printContent = document.getElementById("test");
var printWindow = window.open("", "","left=50,top=50");
printWindow.document.write(printContent.innerHTML);
printWindow.document.write("<script src=\'http://code.jquery.com/jquery-1.10.1.min.js\'><\/script>");
printWindow.document.write("<script>$(window).load(function(){ print(); close(); });<\/script>");
printWindow.document.close();
}
</script>
...
但是点击文本"Get Sreenshot“什么也不会发生。你明白为什么吗?当我删除
html2canvas(divprint, {
onrendered: function(canvas) {
var canvasImg = canvas.toDataURL("image/jpg");
$('#test').html('<img src="'+canvasImg+'" alt="">');
}
});
它或多或少工作得很好。
发布于 2018-08-15 07:38:01
最新版本的html2canvas使用promises而不是'onrendered`‘回调。
例如:
html2canvas(document.querySelector('#my-thing')).then(function(canvas) {
// do something with canvas here.
console.log(canvas);
});
https://stackoverflow.com/questions/51823015
复制相似问题