【发布时间】:2014-08-30 20:35:28
【问题描述】:
我们想要捕获 IFrame 中的 Div(HTML 元素)的屏幕截图。 IFrame 在运行时在 html 页面中加载到另一个 Div 中。为了捕获屏幕截图,我们使用 html2canvas.js API。
代码在 Mozilla 和 Chrome 中运行良好,但在 IE9/10/11 中无法运行。
基本要求是捕获 Div 的屏幕截图并将该图像字节数组发送到 Flex 应用程序。
截图功能是:
function capturImage() {
html2canvas(document.getElementById('map_canvas'), {
proxy: "server.js",
useCORS: true,
onrenderd: function (canvas) {
var imageData = canvas.todataURL('image/png', 1.0);
imageDataOnly = imageData.split(",");
falshObj.getImage(imageDataOnly[1]);
}
});
}
IE 中的错误:
SCRIPT438:对象不支持属性或方法 'getComputedStyle' 文件:html2canvas.js,行:2269,列:5
如果有人有类似经验或有任何解决问题的线索,请告诉我。
【问题讨论】:
-
这里是 html2canvas 的 github 问题页面。你在那里搜索过同样的问题吗?显然,如果这是他们脚本中的错误,那么他们是唯一可以帮助您的人。 github.com/niklasvh/html2canvas/issues
-
他们网站上的简化演示对您有用吗?
-
在此处插入 IE 笑话...
-
你试过getComputedSTyle polyfill吗? IE9 应该支持它,但谁知道呢....
-
您使用的是哪个版本的
html2canvas?您使用的是什么版本的 Windows?当您在 IE 上打开导致问题的页面时,IE 是否切换到兼容模式/视图?在 GitHub (github.com/niklasvh/html2canvas/issues/163) 上有一个关于这个问题的未解决问题,还有一个未决的拉取请求 (github.com/niklasvh/html2canvas/pull/219)。也许这会有所帮助。
标签: javascript html internet-explorer iframe