Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 地理图表另存为图像或pdf在chrome中工作,但在Firefox浏览器中不工作_Javascript_Pdf_Html5 Canvas_Google Visualization - Fatal编程技术网

Javascript 地理图表另存为图像或pdf在chrome中工作,但在Firefox浏览器中不工作

Javascript 地理图表另存为图像或pdf在chrome中工作,但在Firefox浏览器中不工作,javascript,pdf,html5-canvas,google-visualization,Javascript,Pdf,Html5 Canvas,Google Visualization,我正在使用下面的JavaScript代码,请有人告诉我如何改进这一点 是否可以将整个页面保存为pdf格式? 实际上,图像(图像/八位字节流)没有任何格式,如*.png或*.jpg 所以,请有人改进我的代码,并提出一些修改建议,以便它也能在firefox上运行 function getImgData(chartContainer) { var chartArea = chartContainer.getElementsByTagName('svg')[0].parent

我正在使用下面的JavaScript代码,请有人告诉我如何改进这一点 是否可以将整个页面保存为pdf格式? 实际上,图像(图像/八位字节流)没有任何格式,如*.png或*.jpg 所以,请有人改进我的代码,并提出一些修改建议,以便它也能在firefox上运行

function getImgData(chartContainer) {
              var chartArea = chartContainer.getElementsByTagName('svg')[0].parentNode;
              var svg = chartArea.innerHTML;
              var doc = chartContainer.ownerDocument;
              var canvas = doc.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;');
              doc.body.appendChild(canvas);
              canvg(canvas, svg);
              var imgData = canvas.toDataURL("image/png");
              canvas.parentNode.removeChild(canvas);
              return imgData;
          }

          function saveAsImg(chartContainer) {
              var imgData = getImgData(chartContainer);

              // Replacing the mime-type will force the browser to trigger a download
              // rather than displaying the image in the browser window.
              window.location = imgData.replace("image/png", "image/octet-stream");
          }

          function toImg(chartContainer, imgContainer) {
              var doc = chartContainer.ownerDocument;
              var img = doc.createElement('img');
              img.src = getImgData(chartContainer);

              while (imgContainer.firstChild) {
                  imgContainer.removeChild(imgContainer.firstChild);
              }
              imgContainer.appendChild(img);
          } 

还有人认为我没有使用MVC。在一个简单的vb.net网站上工作

请看这篇文章,它可能会有帮助,我已经在用小文本了,所以没有帮助