Javascript 在Html2Canvas中呈现时,页面会滚动到顶部
我正在使用html2canvas库,使用以下代码:Javascript 在Html2Canvas中呈现时,页面会滚动到顶部,javascript,css,canvas,html2canvas,Javascript,Css,Canvas,Html2canvas,我正在使用html2canvas库,使用以下代码: html2canvas(document.body, { onrendered: function(canvas) { document.body.appendChild(canvas); } }); 激发onrendered时,页面将自动滚动到顶部。我们是否可以保持滚动位置而不被自动带到页面顶部?我查看了html2canvas.js并看到了以下行: _html2canvas.Parse = function (ima
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
激发
onrendered
时,页面将自动滚动到顶部。我们是否可以保持滚动位置而不被自动带到页面顶部?我查看了html2canvas.js并看到了以下行:
_html2canvas.Parse = function (images, options) {
window.scroll(0,0);
在注释window.scroll(0,0)
out之后,它对我的本地测试非常有效。看来这种行为是作者故意的
当然,您也可以在触发代码时将当前滚动位置保存到变量中。您可能采用的方式取决于如何执行html2canvas。如果是演示页面上的按钮,您可以向该按钮添加事件侦听器:
var scrollPos;
document.querySelector("screenshotButton").addEventListener("click",function() {
scrollPos = document.body.scrollTop;
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
window.scrollTo(0,scrollPos);
}
});
});
您应该能够调整相对于当前页面偏移量的滚动位置,请尝试以下操作
html2canvas(document.body, { scrollY: (window.pageYOffset * -1) })
在这里的演示页面上似乎发生了同样的事情:在调用html2canvas并将其设置回onrendered处理程序之前,您是否能够存储scrolltop?这太棒了,我在发布我的赏金后也发现了这一行。只要我能奖励它,它就是你的了:)。谢谢你的帮助。我很高兴能帮上忙。谢谢完美的非常感谢。