Javascript html2canvas,一种捕捉iframe的方法?

Javascript html2canvas,一种捕捉iframe的方法?,javascript,iframe,html2canvas,Javascript,Iframe,Html2canvas,我需要做一个iframe的快照,但是HTML2Canvas不这样做,这是众所周知的 我试图通过myiframe.contentWindow.document.body元素将iframe的内容传递给html2canvas函数,只有当我的页面和iframe中的页面位于同一个域(安全原因)时,这才起作用,但这正是我所需要的 html2canvas(divToShare.contentWindow.document.body, { onrendered: function(canvas) {

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

我试图通过
myiframe.contentWindow.document.body
元素将iframe的内容传递给html2canvas函数,只有当我的页面和iframe中的页面位于同一个域(安全原因)时,这才起作用,但这正是我所需要的

html2canvas(divToShare.contentWindow.document.body, {
    onrendered: function(canvas) {
        screenshot = canvas.toDataURL();
    }
};
但现在问题来了。。。。 输出图像与预期不太相似。按钮看起来像文本字段和其他奇怪的东西。。。 例如:

原始页面的图像

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

我做错什么了吗?或者图像渲染器不完全相同是正常现象?
我只需要拍一张iframe的快照,如果你有其他方法,我也可以。

可能是因为html2canvas只在用户端工作,而在服务器端不工作。iframe中页面的CSS无法呈现。

我知道您还不能发表评论,但请避免发表类似Answersorry的评论,我是web开发和stackoverflow的初学者。我如何避免发布类似于答案的评论?添加图像或代码还是什么?请告诉我。如果你知道问题的答案,也请告诉我。我不知道我的答案是否正确,但我真的想知道真正的答案。非常感谢。关于StackOverflow的答案应该完全回答了这个问题。他们应该有一个明确的答案,提供一个清晰明了的解释/解决方案。评论用于讨论,以帮助找出答案。例如,这个答案使用了“maybe”这样的词,这意味着你不确定答案以及这是否真的是问题所在。这属于评论。非常感谢!我将提高我在StackOverFlow中的回答能力。