javascript - 为什么 javascript 中的 html2canvas 不支持谷歌地图和图表?

标签 javascript google-maps canvas screenshot html2canvas

我正在使用 html2canvas 和这个方法做屏幕截图:

 makeScreenshot: function (button) {
        html2canvas(document.body, {
            onrendered: function(canvas) {
                new Ext.Window({
                    title: 'Screenshot',
                    width: 800,
                    height: 600,
                    resizable: true,
                    autoScroll: true,
                    preventBodyReset: true,
                    html: '<img src="' + canvas.toDataURL("image/png") + '" height="800"/>'
                }).show();
            }
        });
    }

获取此屏幕截图(在名为 Screeshot 的图像左侧对话框/窗口中) enter image description here

正如你所看到的,谷歌地图没有生成,只是圆圈。屏幕截图中也没有图表。怎么了?

最佳答案

map block 是可能无法呈现的图像,因为它们位于不同的域。

来自documentation :

限制

脚本使用的所有图像都需要位于同一源下,以便它能够在没有代理帮助的情况下读取它们。

关于javascript - 为什么 javascript 中的 html2canvas 不支持谷歌地图和图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18743166/

相关文章:

Javascript在使用textarea时更改字体颜色

javascript - 我怎样才能用greasemonkey选择正确的单选按钮?

google-maps - 有没有办法将 id 添加到将标记添加到谷歌地图时创建的 div 中?

javascript - 无法在 react-google-maps 中呈现信息窗口

java - 使用canvas向JFrame添加其他组件

javascript初始化对象属性

javascript - 如何正确使用json-2-csv Node 模块?

JAVA - swing - 使用目标 Canvas 的反转/否定颜色进行绘制/填充

google-maps - Ember : Use Google Maps-API in Ember

javascript - 关于 Canvas 上 JavaScript 的询问