【发布时间】:2016-07-12 19:35:10
【问题描述】:
我正在尝试使用 HTML2Canvas 来呈现 div 的内容。这是代码:
var htmlSource = $('#potenzial-page')[0];
$('#btn').on("click", function() {
html2canvas(htmlSource).then(function(canvas) {
var img = canvas.toDataURL();
window.open(img);
});
});
我正在使用 v5 beta 3。
当此代码运行时,它只呈现屏幕上可见的内容。 #potenzial-page div 基本上是整个页面,减去页眉和页脚。此 div 中的所有内容通过滚动可见(有一些隐藏元素,但我不希望隐藏元素在图像中可见。)
我找不到问题所在或为什么它不能保存整个 div。我还应该注意到,图像看起来和 div 一样高,但只是部分可见。
举个例子说明我的意思,这里是一个比较:
左边是 HTML2Canvas 应该如何渲染 div。右侧显示了它在运行上面的代码时的呈现方式。正确的图像是在我的浏览器屏幕中可见的。
我确实尝试添加 height 选项,但没有任何区别。
更新
如果我滚动到页面的最顶部然后运行脚本,它将呈现整个 div。
如何在不滚动到顶部的情况下呈现 div?
【问题讨论】:
-
您是否在 SO 中看到过此解决方案:"Html2canvas converting overflowed content to image" 提出了一种解决方案,将溢出设置为可见,然后渲染,然后隐藏溢出。
-
我也遇到了同样的问题,你是怎么解决的?