Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript excanvas G_vmlCanvasManager未定义_Javascript_Jsf_Google Visualization_Excanvas - Fatal编程技术网

Javascript excanvas G_vmlCanvasManager未定义

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

我试图从我的页面抓取谷歌图表生成的图像,并将其绘制在画布上,这样我就可以使用canvg lib函数将其转换为jpeg图像,然后将其附加到pdf文件中。我的问题是某些版本的IE无法处理画布属性。为了克服这个问题,我尝试使用excanvas lib。在下面的代码中,我从容器中捕获图像

  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压缩文件声明在基本页的头部。谢谢你们的帮助和关注