Ist es möglich, getElementByID zu verwenden, um nur ein bestimmtes Element auf die Leinwand zu drucken?
Wenn Sie die neueste Version verwenden, funktioniert es nur mit document.body
$("#myButton").click(function () {
html2canvas(document.getElementById('myTable'), {
allowTaint: true,
imageTimeout: 15000,
logging: true,
useCORS: true
}).then(function (canvas) {
document.body.appendChild(canvas);
const b64 = canvas.toDataURL("image/png").replace(/.*,/, '');
console.log("data:image/png;base64, " + b64)
});
});
Möglicherweise wird Ihr Element nach oben oder unten gescrollt. Versuchen Sie es, indem Sie scrollX: -window.scrollX und scrollY: -window.scrollY hinzufügen
$("#myButton").click(function () {
html2canvas(document.getElementById('myTable'), {
allowTaint: true,
imageTimeout: 15000,
logging: true,
useCORS: true,
scrollX: -window.scrollX,
scrollY: -window.scrollY
}).then(function (canvas) {
document.body.appendChild(canvas);
const b64 = canvas.toDataURL("image/png").replace(/.*,/, '');
console.log("data:image/png;base64, " + b64)
});
});
Perfekt, damit ist das Problem gelöst, danke.
Bitte bitte bitte schreiben Sie diese beiden Eigenschaften zu den Hauptbeispielen entsprechend, um beim Screenshoten oft zu scrollen. Siehe Kommentar oben https://github.com/niklasvh/html2canvas/issues/2368#issuecomment -701920277
scrollX: -window.scrollX,
scrollY: -window.scrollY
Hilfreichster Kommentar
Möglicherweise wird Ihr Element nach oben oder unten gescrollt. Versuchen Sie es, indem Sie scrollX: -window.scrollX und scrollY: -window.scrollY hinzufügen