我正在使用html2canvas库,使用以下代码:
html2canvas(document.body,{ onrendered: function(canvas) { document.body.appendChild(canvas); } });
解决方法
我看了看html2canvas.js,看到如下:
_html2canvas.Parse = function (images,options) { window.scroll(0,0);
在评论了window.scroll(0,0)之后,在本地测试中对我很好.似乎这样的行为是作者的意图.
当然,您也可以在触发代码时将当前的滚动位置保存为变量.你可以这样做的方式取决于你如何执行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); } }); });