html2canvas:截取 div 的屏幕截图无效
html2canvas: taking screenshot of a div not working
我想使用 javascript 对 DOM 中的某个元素进行屏幕截图,然后自动将其保存在我的本地计算机上,而无需实际单击按钮。我看过很多建议,但 none 确实按照我想要的方式工作。这是我读过的一些例子。 , example 2
<!DOCTYPE html>
<html>
<body>
<script src="jquery-3.2.1.min.js"></script>
<p>This is some text.</p>
<div style="color:#0000FF" id="myContainer" >
<h3>This is a heading in a div element</h3>
<p>This is some text in a div element.</p>
</div>
<p>This is some text.</p>
<script type="text/javascript">
try {
debugger;
$.getScript("html2canvas.js", function() {
var takeScreenShot = function() {
html2canvas($("#myContainer"), {
onrendered: function (canvas) {
var tempcanvas=document.createElement("canvas");
tempcanvas.width=350;
tempcanvas.height=350;
var context=tempcanvas.getContext("2d");
context.drawImage(canvas,112,0,288,200,0,0,350,350);
var link=document.createElement("a");
link.href=tempcanvas.toDataURL("image/png")
link.download = "myImage.png";
link.click();
}
});
} });
}
catch (err) {
alert(err.message);
}
</script>
</body>
</html>
问题是我没有收到任何错误,也没有屏幕截图。
您正在定义函数 takeScreenShot,但从未实际调用它。您需要使用 takeScreenShot();
调用该函数
或更完整:
try {
debugger;
$.getScript("html2canvas.js", function() {
var takeScreenShot = function() {
html2canvas($("#myContainer"), {
onrendered: function (canvas) {
var tempcanvas=document.createElement("canvas");
tempcanvas.width=350;
tempcanvas.height=350;
var context=tempcanvas.getContext("2d");
context.drawImage(canvas,112,0,288,200,0,0,350,350);
var link=document.createElement("a");
link.href=tempcanvas.toDataURL("image/png")
link.download = "myImage.png";
link.click();
}
});
}
takeScreenShot();
});
}
catch (err) {
alert(err.message);
}
我想使用 javascript 对 DOM 中的某个元素进行屏幕截图,然后自动将其保存在我的本地计算机上,而无需实际单击按钮。我看过很多建议,但 none 确实按照我想要的方式工作。这是我读过的一些例子。
<!DOCTYPE html>
<html>
<body>
<script src="jquery-3.2.1.min.js"></script>
<p>This is some text.</p>
<div style="color:#0000FF" id="myContainer" >
<h3>This is a heading in a div element</h3>
<p>This is some text in a div element.</p>
</div>
<p>This is some text.</p>
<script type="text/javascript">
try {
debugger;
$.getScript("html2canvas.js", function() {
var takeScreenShot = function() {
html2canvas($("#myContainer"), {
onrendered: function (canvas) {
var tempcanvas=document.createElement("canvas");
tempcanvas.width=350;
tempcanvas.height=350;
var context=tempcanvas.getContext("2d");
context.drawImage(canvas,112,0,288,200,0,0,350,350);
var link=document.createElement("a");
link.href=tempcanvas.toDataURL("image/png")
link.download = "myImage.png";
link.click();
}
});
} });
}
catch (err) {
alert(err.message);
}
</script>
</body>
</html>
问题是我没有收到任何错误,也没有屏幕截图。
您正在定义函数 takeScreenShot,但从未实际调用它。您需要使用 takeScreenShot();
或更完整:
try {
debugger;
$.getScript("html2canvas.js", function() {
var takeScreenShot = function() {
html2canvas($("#myContainer"), {
onrendered: function (canvas) {
var tempcanvas=document.createElement("canvas");
tempcanvas.width=350;
tempcanvas.height=350;
var context=tempcanvas.getContext("2d");
context.drawImage(canvas,112,0,288,200,0,0,350,350);
var link=document.createElement("a");
link.href=tempcanvas.toDataURL("image/png")
link.download = "myImage.png";
link.click();
}
});
}
takeScreenShot();
});
}
catch (err) {
alert(err.message);
}