Javascript excanvas G_vmlCanvasManager未定义
我试图从我的页面抓取谷歌图表生成的图像,并将其绘制在画布上,这样我就可以使用canvg lib函数将其转换为jpeg图像,然后将其附加到pdf文件中。我的问题是某些版本的IE无法处理画布属性。为了克服这个问题,我尝试使用excanvas lib。在下面的代码中,我从容器中捕获图像Javascript excanvas G_vmlCanvasManager未定义,javascript,jsf,google-visualization,excanvas,Javascript,Jsf,Google Visualization,Excanvas,我试图从我的页面抓取谷歌图表生成的图像,并将其绘制在画布上,这样我就可以使用canvg lib函数将其转换为jpeg图像,然后将其附加到pdf文件中。我的问题是某些版本的IE无法处理画布属性。为了克服这个问题,我尝试使用excanvas lib。在下面的代码中,我从容器中捕获图像 function getImageFromResource(containerId){ var browserTypeAndVersion = getBrowserTypeAndVers
function getImageFromResource(containerId){
var browserTypeAndVersion = getBrowserTypeAndVersion();
var container = document.getElementById(containerId);
var chartArea;
var isIE = false;
if(browserTypeAndVersion[0] == "MSIE" && 8 >= parseInt(browserTypeAndVersion[1])){
isIE = true;
}
if(isIE){
chartArea = container.getElementsByTagName('iframe')[0].parentNode;
}else{
chartArea = container.getElementsByTagName('svg')[0].parentNode;
}
var svg = chartArea.innerHTML;
var canvas = document.createElement('canvas');
canvas.setAttribute('width', chartArea.offsetWidth);
canvas.setAttribute('height', chartArea.offsetHeight);
canvas.setAttribute(
'style',
'position: absolute; ' +
'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
if(isIE){
window.G_vmlCanvasManager.initElement(canvas);
}
document.body.appendChild(canvas);
canvg(canvas, svg);
var imgData = canvas.toDataURL("image/jpeg");
return imgData;
}
当我尝试使用G_vmlCanvasManager中的initElement启动画布时,问题出现了。它仍然没有定义,这意味着它没有被加载或类似的东西。因此,我需要知道如何加载它,对于额外的信息,我的js压缩文件声明在基本页的头部。谢谢你们的帮助和关注