我需要做一个 iframe 的快照,但是 html2canvass 不这样做,这是众所周知的。
我试图通过myiframe.contentWindow.document.body
元素将 iframe 的内容传递给 html2canvas 函数,只有当我的页面和 iframe 内的页面都在同一个域中时(安全原因),这才有效,但这正是我所需要的。
html2canvas(divToShare.contentWindow.document.body, {
onrendered: function(canvas) {
screenshot = canvas.toDataURL();
}
};
但是现在问题来了....输出图像与预期的不太相似。按钮看起来像一个文本字段和其他奇怪的东西......一个例子:
原始页面的图像
这是来自 html2canvas、不同按钮和文本框的 png 结果,也没有背景。
我做错了吗?还是图像渲染器不完全相同是正常的?我只需要拍摄 iframe 的快照,如果您有其他方法可以做到这一点,我可以。