拍摄包含iframe的页面的屏幕截图

rom*_*nio 7 html javascript dom node.js angular

我们有一个nodeJS / angular 4网站,该网站显示来自第三方的iframe(powerBI Emebdded)。我们正在尝试开发一种功能,以允许最终用户对包含iframe内容的页面进行截图。

我们尝试了iframe2image库:https//github.com/twolfson/iframe2image

但是我们面临着同一个原产地政策的问题:

ERROR DOMException: Blocked a frame with origin http://localhost:4200
from accessing a cross-origin frame
Run Code Online (Sandbox Code Playgroud)

由于我们无权访问iframe(这是PowerBI iframe生成的带有专用库的第三方内容)。我们无法通过将iframe中的window.document.domain设置为同一域来绕过该策略。

您有建议的解决方案吗?

小智 3

我认为这是绝对不可能的,因为没有办法访问iframe的文档元素。但是访问这些元素是必要的,因为所有将 html 渲染为任何形式的图像的库都需要解析文档内的元素以从中获取视觉效果。