我使用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);
}
},
window.open(image.src)
在Chrome v.61中打开新标签页但不显示任何图片,它是空白页。
注意:相同的功能适用于最新的Firefox v.56
请建议。
答案 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>