是否可以在网页中截取 iframe 的屏幕截图?

ecc*_*mbo 5 html javascript iframe screenshot html2canvas

我正在尝试截取网页中 iframe 的屏幕截图。在我的特殊情况下,iframe 包含我客户商店之一的街景。据我搜索和阅读,我没有找到任何解决方案。

我知道有像Html2Canvasand这样的 JavaScript 库Canvas2Image,但它们无法捕获 iframe。

是我正在研究的小提琴。

除了 iframe,这些库与每个 HTML 元素都能正常工作。

这是小提琴的 JavaScript:

$(function() { 
        $("#btnSave").click(function() { 
        html2canvas($("#widget"), {
            onrendered: function(canvas) {
                var context=canvas.getContext("2d"); // returns the 2d context object
                // Convert and download as image 
                theCanvas = canvas;
                document.body.appendChild(canvas);

                // Convert and download as image 
                Canvas2Image.saveAsPNG(canvas); 
                $("#img-out").append(canvas);
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

是否存在其他捕获 iframe 的方法?是否有任何付费的第三方服务可以做到这一点?

如果 iframe 没有任何作用,是否有任何替代方法可以实现我想要做的事情?

如果需要更多信息,请告诉我。

任何帮助将不胜感激。

提前致谢

Nic*_*kis 1

如果您只想截取屏幕截图,只需使用截图工具即可(但我想这不是您的情况)。

从编程的角度来看:

考虑一下 iframe 在您的网站内加载外部页面,而您对此没有控制权。加载的页面代码不是源代码的一部分,您几乎无法控制它以编程方式进行广泛的编辑/功能。

正如这里所说,你可以使用getScreenshotFF中iframe的方法。这可能对您有用,但我想这对于简单的场景可能有用,并且不能被视为用作功能的完整的跨浏览器兼容性解决方案。