将html字符串渲染到画布而不显示html本身

时间:2015-01-16 12:14:50

标签: javascript html html2canvas

我想将html字符串转换为类似于此处完成的图像: html2canvas creates a canvas with a width and height of zero?

但是,我不想在页面上显示结果图像以外的任何内容。因此,我不能像那里建议的那样简单地将html字符串添加到DOM。我认为我想要实现的目标是可能的,因为html2canvas test console就是这样做的。

我尝试了以下产生空结果的内容:



var doc = document.implementation.createHTMLDocument();
doc.open();
doc.write("<html><header></header><body><div>test</div></body></html>");
doc.close();

html2canvas(doc.body, {
    onrendered:function(newCanvas) {
        document.body.appendChild(newCanvas);
    }    
});
&#13;
<script src="https://github.com/niklasvh/html2canvas/blob/master/dist/html2canvas.js"></script>
&#13;
&#13;
&#13;

有人可以建议这样做吗?

1 个答案:

答案 0 :(得分:1)

我想出来了。这是the link,它引导我走向正确的方向。同样值得检查this page的源代码,它说明了这个想法。

我们设置了

style="overflow:hidden"

容器的属性,并使用

移动我们想要在视口外部渲染的内容
style="position:absolute;top:0px;left:3000px;"

希望能有所帮助。