html2canvas,一种捕获iframe的方法?

时间:2013-11-21 08:29:07

标签: javascript iframe html2canvas

我需要做一个iframe的快照,但html2canvass不要这样做,这是众所周知的。

我尝试将iframe的内容传递给html2canvas函数,并使用myiframe.contentWindow.document.body元素,只有当我的页面和iframe中的页面都在同一个域中时(安全原因),这才起作用我需要什么。

html2canvas(divToShare.contentWindow.document.body, {
    onrendered: function(canvas) {
        screenshot = canvas.toDataURL();
    }
};

但现在出现问题...... 输出图像与期望值不太相似。按钮看起来像文本字段和其他奇怪的东西...... 一个例子:

原始页面的图像

enter image description here

这是html2canvas的png结果,不同的按钮和文本框,也没有背景。

enter image description here

我做错了吗?或图像渲染器不完全相同是正常的? 我只需要拍一张iframe的快照,如果你有另外一种方法可以做到这一点,那对我来说没问题。

1 个答案:

答案 0 :(得分:1)

也许是因为html2canvas只能在用户侧工作但不能在服务器端工作。并且无法呈现iframe中页面的CSS。