使用JS问题

时间:2017-10-12 05:55:54

标签: javascript jquery html browser flotr2

我使用Flotr2库来呈现图表&网页上的图表。

我面临的问题是下载图表作为图像选项无法在最新的Chrome浏览器上运行,我试图调试该问题并发现下面给出的代码是Flotr2的一部分不起作用。

现场演示: Link (在最新的Chrome浏览器中打开上面的链接并尝试点击'下载'按钮)

Flotr.addPlugin('download', {

  saveImage: function (type, width, height, replaceCanvas) {
    var
      grid = this.options.grid,
      image;

    if (Flotr.isIE && Flotr.isIE < 9) {
      image = '<html><body>'+this.canvas.firstChild.innerHTML+'</body></html>';
      return window.open().document.write(image);
    }

    if (type !== 'jpeg' && type !== 'png') return;

    image = getImage(
      type, this.canvas, this.ctx,
      this.canvasWidth, this.canvasHeight,
      grid && grid.backgroundColor || '#ffffff'
    );

    if (_.isElement(image) && replaceCanvas) {
      this.download.restoreCanvas();
      D.hide(this.canvas);
      D.hide(this.overlay);
      D.setStyles({position: 'absolute'});
      D.insert(this.el, image);
      this.saveImageElement = image;
    } else {
      var u = navigator.userAgent, isIE = (Flotr.isIE || (new RegExp(/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i)).test(u) || (new RegExp(/(edge)\/((\d+)?[\w\.]+)/i)).test(u));

      if (isIE) {
          return window.open('about:blank').document.body.innerHTML = '<img src="' + image.src+ '">';
      }

      return window.open(image.src);
    }
  },

下面, enter image description here

  

window.open(image.src)

在Chrome v.61中打开新标签页但不显示任何图片,它是空白页。

注意:相同的功能适用于最新的Firefox v.56

请建议。

1 个答案:

答案 0 :(得分:0)

为什么不使用某种类型的preview.html文件,你可以先打开然后调用那个页面中的js-function(给它src属性作为参数)来在页面上插入图像?

像这样:

preview.html:

localhost

呼叫:

<!doctype html>

<head>
<script>
function insertImage(dataurl)
{
    document.getElementById("previewImage").src = dataurl;
}
</script>
</head>
<body>
    <img id="previewImage" alt="awesome chart" />
</body>

</html>